Blog

【WordPress】カスタム投稿のシングルページ(single-●●.php)に関連記事を表示

2016/07/17

カスタム投稿

備忘録です。

以前にもカスタム投稿の関連記事表示について書きましたが、別の方法です。
以前の記事 【WordPress】カスタム投稿ページ(single-●●.php)に関連記事を表示

参考サイト
【WordPress】カスタム投稿のシングルページに関連記事を表示する

同じ投稿タイプの記事を表示

<?php
 global $post;
 $args = array(
  'numberposts' => 8, //8件表示(デフォルトは5件)
  'post_type' => 'products', //カスタム投稿タイプ名
  'orderby' => 'rand', //ランダム表示
  'post__not_in' => array($post->ID) //表示中の記事を除外
 );
?>
<?php $myPosts = get_posts($args); if($myPosts) : ?>
<?php foreach($myPosts as $post) : setup_postdata($post); ?>
 <p><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?><?php the_title(); ?></a></p>
<?php endforeach; ?>
<?php else : ?>
 <p>関連アイテムはまだありません。</p>
<?php endif; wp_reset_postdata(); ?>

ちなみにorderbyをランダムではなく新着順で表示する場合は

'orderby' => 'date',
'order' => 'ASC',

同じタクソノミーの記事を表示

<?php
 global $post;
 $args = array(
  'numberposts' => 8, //8件表示(デフォルトは5件)
  'post_type' => 'products', //カスタム投稿タイプ名
  'taxonomy' => 'genres', //タクソノミー名 ←ここが追加
  'orderby' => 'rand', //ランダム表示
  'post__not_in' => array($post->ID) //表示中の記事を除外
 );
?>
<?php $myPosts = get_posts($args); if($myPosts) : ?>
<?php foreach($myPosts as $post) : setup_postdata($post); ?>
 <p><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?><?php the_title(); ?></a></p>
<?php endforeach; ?>
<?php else : ?>
 <p>関連アイテムはまだありません。</p>
<?php endif; wp_reset_postdata(); ?>

同じタームの記事を表示

<?php
 global $post;
 $term = array_shift(get_the_terms($post->ID, 'genres')); //←ここが追加
 $args = array(
  'numberposts' => 8, //8件表示(デフォルトは5件)
  'post_type' => 'products', //カスタム投稿タイプ名
  'taxonomy' => 'genres', //タクソノミー名
  'term' => $term->slug, //ターム名 ←ここが追加
  'orderby' => 'rand', //ランダム表示
  'post__not_in' => array($post->ID) //表示中の記事を除外
 );
?>
<?php $myPosts = get_posts($args); if($myPosts) : ?>
<?php foreach($myPosts as $post) : setup_postdata($post); ?>
 <p><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?><?php the_title(); ?></a></p>
<?php endforeach; ?>
<?php else : ?>
 <p>関連アイテムはまだありません。</p>
<?php endif; wp_reset_postdata(); ?>

参考サイトでは、single-●●.phpに記述となっていますが、sidebar.phpに記述しても同様の表示ができます。

ゼヒトモ内でのプロフィール: ROCKSTREAMゼヒトモのホームページ作成・制作サービス仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ