実現したいこと
以下の複数のカテゴリーにチェックが入っている投稿ページの記事を固定ページのテンプレートに
それぞれ一覧で出し分けたいです。
いくつかの記事があり、設定しているカテゴリー一覧は次の通りです。
基本的に親カテゴリーにはチェックしておらず、子カテゴリーにのみチェックを入れています。(親カテゴリーをチェックすることで解決するといった方法は避けたいです)
かっこ内はスラッグ名です。
カテゴリーIDが必要でしたら仮で、上から1,2,3,4と想定してください。
東京23区(親) ├ 豊島区(toshimaku) └ 文京区(bunkyoku) 東京都のグルメ(親) ├ イタリアン(italian) └ 日本食(nihonshoku)
やりたいことは、例えるなら、こんな感じです。
- 「豊島区」に属している記事のみ一覧表示 - 「イタリアン」と「豊島区」に属している記事のみ一覧表示
の二つを実現したいです。
現在のソースコード
ソースコードはいろいろ試したのですが、うまくいかず、現在のものを貼ります。
1番目にやりたかった
- 「豊島区」に属している記事のみ一覧表示
はうまくいったのですが、2番目にやりたかった
- 「イタリアン」と「豊島区」に属している記事のみ一覧表示
がうまくいきません。
2番目を実現させるために書いたコードが次のものです。
php
1page-template.php 2 3$wp_query = new WP_Query('category_name=toshimaku'); 4 5if (is_category('toshimaku') && is_category('italian')): 6if($wp_query->have_posts() ): 7while ( $wp_query->have_posts() ): $wp_query->the_post(); 8ここにループ内容 9endwhile; 10endif; 11endif; 12wp_reset_query();
このコードを試すとなにもループ部分がなにも表示されなくなってしまいます。
ちなみにInfinite Scrollによる、追加読み込みをしており、php部分は次のようにしています。
Infinite Scroll PACKAGED v3.0.4を使用しています。
https://infinite-scroll.com
php
1global $paged; 2if( empty( $paged ) ) $paged = 1; 3 4global $wp_query; 5$pages = $wp_query -> max_num_pages; 6if( !$pages ) { 7 $pages = 1; 8} 9if( $pages != 1 && $paged < $pages ) { 10 echo ' 11 <div class="scroll_wrap"> 12 <div class="scroller-status"> 13 <div class="infinite-scroll-request"></div> 14 <p class="infinite-scroll-last">これ以上は記事がありません</p> 15 <p class="infinite-scroll-error">読み込むページがありません</p> 16 </div> 17 <button id="more-button" type="button"></button> 18 </div> 19 '; 20}
なにかしら、ご教授いただけますと幸いです。
以下、追記
「豊島区」の一覧についてはこちらのコードで表示されました。
is_category()で判定させているif文を抜いただけです。
php
1page-template.php 2 3$wp_query = new WP_Query('category_name=toshimaku'); 4 5if($wp_query->have_posts() ): 6while ( $wp_query->have_posts() ): $wp_query->the_post(); 7ここにループ内容 8endwhile; 9endif; 10wp_reset_query();
回答1件
あなたの回答
tips
プレビュー