サポート » バグ報告と提案 » 複数の投稿タイプ(カスタム含)をまとめた年別アーカイブの作り方を教えてください

  • 現在、wordpressを触りながら勉強しています。
    記事の内容によってカスタム投稿で雛形を分けながら、
    一方で記事一覧ページには複数の投稿タイプをまとめて表示できるようにし、
    同ページにはタイトルだけでなく、wp_get_archives を使って年別アーカイブも
    表示できるようにしました。【下記が該当ソースです】
     <?php
      wp_get_archives(array(
      ’post_type’ => array(‘post’,’post111′,’post222′),
      ’type’ => ‘yearly’,
      ’show_post_count’ => 0
      ));
     ?>

    しかし、よく見ると年別アーカイブに表示されていない年があり、
    いろんなページを調べた結果、上記の記述では複数の投稿タイプではなく、デフォルトの ‘post’ の
    年別アーカイブしか表示されないところまで辿り着くことができました。
    ただ、ここからどうやってカスタム投稿タイプを含む複数の投稿タイプの混合年別アーカイブを
    表示できるように記述していいのか、全く分からなくなってしまいました。

    できればサンプルソースをいただければ幸いですが、何かヒントでも構いません。
    どなたかお力を貸していただければと思います。よろしくお願いします

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • CG

    (@du-bist-der-lenz)

    複数の投稿タイプを対象にするとなると、'post_type' => array('post','page','$post_custom'),になりませんか。

    ご意見ありがとうございます。

    <?php
      wp_get_archives(array(
      ’post_type’ => array(‘post’,’page’,’$post_custom’),
      ’type’ => ‘yearly’,
      ’show_post_count’ => 0
      ));
     ?>

    で試してみましたが、ダメでした。。

    下記の記事が参考になるかもしれません。

    WPの月別アーカイブを複数のカスタム投稿が混在した形で表示したい
    https://teratail.com/questions/67797

    ご意見ありがとうございます。
    コチラのページ拝見しましたが、、、少し内容のレベルが高く、、、
    functions.php と page-xxx.php の双方に記述が必要ということでいいのでしょうか。
    どの部分を変更するのかも含め、もう少しだけ噛み砕いて説明していただけるページは
    ご存知でしょうか。

    連続でスイマセン。
    先ほどこちらのページを見つけて、ソースを試してみたところ、、、
    http://hirashimatakumi.com/blog/3962.html
    —-
     <?php // 年別アーカイブリストを表示
      $year=NULL; // 年の初期化
      $args = array( // クエリの作成
      ’post_type’ => array(‘post’,’post222222′), // 投稿タイプの指定
      ’orderby’ => ‘date’, // 日付順で表示
      ’posts_per_page’ => -1 // すべての投稿を表示
       );
      $the_query = new WP_Query($args); if($the_query->have_posts()){ // 投稿があれば表示
      echo ‘<ul class=”year-list”>’;
      while ($the_query->have_posts()): $the_query->the_post(); // ループの開始
      if ($year != get_the_date(‘Y’)){ // 同じ年でなければ表示
      $year = get_the_date(‘Y’); // 年の取得
      echo ’

  • ‘.$year.’
  • ‘; // 年別アーカイブリストの表示
      }
      endwhile; // ループの終了
      echo ‘‘;
      wp_reset_postdata(); // クエリのリセット
      }
     ?>
    —-
    カスタム投稿も普通の投稿もマージされた年別アーカイブが表示されました。
    ただ、今度はリンク部分にカスタムが必要なのか、年別からのアーカイブが404エラーになってしまいます。
    このソースでの修正方法(または別の方法の提示)でも構いません。
    教えていただければと思います。宜しくお願いいたします。

    • この返信は4 ヶ月、 2 週間前に  ieyasu さんが編集しました。
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。