2015/06/15
カスタム投稿 Wordpress
カスタム投稿のsingle-●●.phpに関連投稿を表示する方法です。
参考サイトだけでは表示項目が足りなかったため、結構苦労しました。
同じカスタムをする方の参考になればと思います。
参考サイト
カスタム投稿の記事ページで同じタームを持つ記事を一覧表示
まず下記が基本になります。
<?php $term = array_shift(get_the_terms($post->ID, 'foo')); ?> <?php $tax_posts = get_posts('post_type=bar&posts_per_page=5&taxonomy=foo&term='.esc_html($term->slug)); if($tax_posts): ?> <ul> <?php foreach($tax_posts as $tax_post): ?> <li><a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo esc_html($tax_post->post_title); ?></a></li> <?php endforeach; ?> </ul> <?php endif; ?> /*barがポストタイプ名でfooがタクソノミー名、&posts_per_page=は表示記事数*/
<li>~</li>にタイトル以外の項目も表示します。
タイトルは上記のままで大丈夫です。
画像
<?php echo get_the_post_thumbnail( $tax_post->ID,'画像サイズ' ); ?>
カテゴリ
<?php $terms = wp_get_object_terms($tax_post->ID, 'タクソノミー'); ?><?php foreach($terms as $term): ?><?php echo "$term->name" ?><?php endforeach; ?>
カスタム投稿で設定した項目
<?php echo get_post_meta($tax_post->ID, 'フィールド名', 'true'); ?>
カスタム投稿の本文抜粋(40文字)
<?php echo mb_substr( strip_tags( $tax_post->post_content ), 0, 40 ) . ''; //記事本文の抜粋を40文字だけ取り出す?>
まとめると
<?php $term = array_shift(get_the_terms($post->ID, 'foo')); ?> <?php $tax_posts = get_posts('post_type=bar&posts_per_page=5&taxonomy=foo&term='.esc_html($term->slug)); if($tax_posts): ?> <ul> <?php foreach($tax_posts as $tax_post): ?> <li> <a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo esc_html($tax_post->post_title); ?></a><br> <?php echo get_the_post_thumbnail( $tax_post->ID,'画像サイズ' ); ?><br> <?php $terms = wp_get_object_terms($tax_post->ID, 'タクソノミー'); ?><?php foreach($terms as $term): ?><?php echo "$term->name" ?><?php endforeach; ?><br> <?php echo get_post_meta($tax_post->ID, 'フィールド名', 'true'); ?> <?php echo mb_substr( strip_tags( $tax_post->post_content ), 0, 40 ) . ''; //記事本文の抜粋を40文字だけ取り出す?> </li> <?php endforeach; ?> </ul> <?php endif; ?>
となります。
$tax_post->IDでsingleページのカテゴリを取得するようです。
(間違っていたらすいません)
ゼヒトモ内でのプロフィール: ROCKSTREAM, ゼヒトモのホームページ作成・制作サービス, 仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス
2024/08/20
神社
御朱印
2024/07/06
神社
御朱印
2024/07/06
神社
御朱印
2024/02/09
神社
2024/02/09
神社