WordPressテーマSANGOの質問

カスタム投稿タイプに関連記事を表示したい

アバター
toshi

こんにちは、お世話になっております。
カスタム投稿タイプを使った際、SANGOオリジナル機能の関連記事(記事下)から、同じ投稿タイプ内の記事を表示するには、どのようにカスタマイズをすればよろしいでしょうか?

SANGO
SANGO 質問ガイドライン
コメントへの回答
サルワカくん
サルワカくん
2020/10/09

SANGOの関連記事に出力される記事の選出は、entry-functions.phpに記載されている下記の関数で行われています。下記のコードを子テーマのfunctions.phpに貼り付けたうえで(子テーマ内の関数が読み込まれるようになります)、お好みで編集していただくことになります。

  function sng_get_related_posts_array() {
    global $post;
    $categories = get_the_category();
    if (!$categories) return null;

    $catid = (get_option('related_add_parent')) ?  get_parent_and_siblings_cat_ids($categories[0]) : $categories[0]->cat_ID;
    $num = (get_option('num_related_posts')) ? esc_attr(get_option('num_related_posts')) : 6;
    $orderby = (get_theme_mod('related_posts_order') == "date") ? "date" : "rand";

    $args = array(
      'category__in' => $catid,
      'exclude' => $post->ID,
      'numberposts' => $num,
      'orderby' => $orderby
    );
    
    $days_ago = get_option('related_posts_days_ago');
    if($days_ago && $days_ago != "0") {
      $args['date_query'] = array(
        array(
          'after' => date_i18n('Y-m-d 0:0:0', strtotime("- $days_ago days")),
          'inclusive' => true
        ),
      );
    }
   return get_posts($args);
  }

この中の$args = array()の中で、'post_type' =>'カスタム投稿タイプ名'を指定すれば、カスタム投稿タイプの記事が表示されるようになります。
実際には特定のカスタム投稿タイプが表示される場合のみ関連記事の出力を制御することになると思うので、post_typeの値を条件分岐で変える必要があると思います。

よろしくお願いいたします。