サポート » テーマ » 特定のカテゴリーメニューをもつ記事を表示させたい

  • 解決済 echizenya

    (@echizenya)



    いつもお世話になっております。
    下記の事項について質問がございます。

    【質問の主旨】

    カテゴリメニュー内で特定のスラッグを持った記事の投稿データをget_posts関数で取得して、記事を表示するためには、sidebar.phpにある以下のコードをどのように書き換えれば良いでしょうか?

    <?php
      $the_slug = 'tomioka_highschool_danceclub';
      $args = array(
        'name'           => $the_slug,
      	'post_type'      => 'post',
      	'post_status'    => 'publish',
      	'posts_per_page' => 5
      );
      var_dump($args);
      $my_posts = get_posts( $args );
    ?>

    【質問の補足】

    1.
    現在、個人で運営しているブログのサイドバーの一部に「人気記事」という箇所があります。これは全ての記事の中から最もアクセスの多い記事を5つ表示させています。コードを書き換えることにより、下記のカテゴリーページの中から最もアクセスの多い記事を5つ表示させるようにしたいと考えています。
    https://e-yota.com/category/idle_talk/tomioka_highschool_danceclub/

    2.
    codexで自分の考えに一致する例文がありましたので、$the_slugに’tomioka_highschool_danceclub’を代入しました。途中でvar_dump( $args )をすると、以下の配列が返されます。

    array(4) { ["name"]=> string(28) "tomioka_highschool_danceclub" ["post_type"]=> string(4) "post" ["post_status"]=> string(7) "publish" ["posts_per_page"]=> int(5) }

    配列の内容からして’tomioka_highschool_danceclub’というスラッグをもった記事が表示されると思いましたが、意図した通りの表示になりません。

    3.
    今回の質問につきましてはGitHubにてコードを公開しています。ただし当該コードはコメントアウトにしています。

    以上、ご確認のほどよろしくお願いします。

    ヘルプの必要なページ: [リンクを見るにはログイン]

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • ‘tomioka_highschool_danceclub’は、カテゴリーのスラッグでしょうか。

    カテゴリーのスラッグだったら、’category_name’ => ‘tomioka_highschool_danceclub’ のはずです。

    @ounziw さん。
    コメントありがとうございます。

    >カテゴリーのスラッグだったら、’category_name’ => ‘tomioka_highschool_danceclub’ のはずです。

    <?php
      $the_slug = 'tomioka_highschool_danceclub';
      $args = array(
       'category_name' => $the_slug,
      	'post_type'      => 'post',
      	'post_status'    => 'publish',
      	'posts_per_page' => 5
      );
      // var_dump($args);
      $my_posts = get_posts( $args );
      var_dump($my_posts);
    ?>

    ご指摘の通り’name’を’category_name’に変更したら’var_dump($my_posts);’のところで、
    登美丘高校ダンス部の記事に関する配列が返されました。ありがとうございます。

    今後ともどうぞよろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。