• カスタム投稿でお知らせを構築しています。

    register_post_type( 'news', array(
    'label'         => 'お知らせ',
    'menu_position' => 11,
    'public'        => true,
    'has_archive'   => true,
    'rewrite'       => array( 'slug' => 'news', 'with_front' => false ),
    'supports'      => array( 'title' ),
    ));

    読み込むテンプレートは、archive-news.phpです。

    一覧を表示するには問題ないのですが、月別アーカイブでも
    date.phpがあるにも関わらずarchive-news.phpを読み込みます。

    URLは以下の形式です。
    http://xxx/date/2015/11/?post_type=news

    archive-news.phpで分岐しようかと思い、以下の様に試しても
    正しく分岐されていないようで何も表示されません。

    if(is_month()){
    echo get_the_date('m');
    }

    is_dateでもダメだったのですが、このような場合はどうやって
    分岐させるといいのでしょうか?

    また、date.phpが読み込まれないのは何故なのでしょうか?

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    date.phpが読み込まれないのは何故なのでしょうか?

    テンプレート階層 – WordPress Codex 日本語版にある優先順位の図を見ていただくとわかりますが、テンプレートの適用順位はdate.phpよりもarchive-{post_type}.phpの方が上位だからです。

    また、if(is_month())が認識されていない点については、上記情報だけでは分かりませんでした。
    手元の環境で(Twenty Fifteenを使用)カスタム投稿タイプとarchive-news.phpを作成し、分岐させてみましたがちゃんと動作しましたので。。。

    ちなみにパーマリンク設定はどういう形ですか?

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「アーカイブページ内での分岐」には新たに返信することはできません。