投稿とカスタム投稿を一緒に表示させる

投稿とカスタム投稿一緒に表示させる

※カスタム投稿を作った後の話からします。
使用するテンプレートファイル(表示したい場所)に以下のコードを記述します。

<?php
$args = array(
  'post_type' => array('カスタム投稿ID','post'),/*追加したい投稿ID*/
  'posts_per_page' => 5
);
$post_list = get_posts($args);

if(!empty($post_list)) :
    foreach ($post_list as $post) :
      setup_postdata($post);
      // 表示したいコンテンツのHTMLやPHPを書く
    endforeach;
    wp_reset_postdata(); //ループ後リセット
else :
    echo '投稿する内容はありません。';
endif;
?>

次にfunctions.phpに以下を記述します。
(カテゴリ名・ターム名を同時に取得表示するための関数です。)

<?php
/*投稿とカスタム投稿のタクソノミー(ターム名)を同時に表示*/
function custom_taxonomies_terms_links(){
  $post = get_post();
  $post_id = $post->ID;
  $post_type = $post->post_type;
  $taxonomies = get_object_taxonomies($post_type, 'objects');
  $out = array();
  foreach ($taxonomies as $taxonomy_slug => $taxonomy) {
    $terms = get_the_terms($post->ID, $taxonomy_slug);
    if(!empty($terms)){
      foreach ($terms as $term) {
        $out[] = $term->name;
      }
    }
  }
  return implode(”, $out);
}
?>

参考サイト:投稿とカスタム投稿を同じループ内にまとめて表示させ、カテゴリ名とターム名を同時に表示させる方法

※一部変更:$post->IDの処理を考慮して調整しています。

  • X