前提・実現したいこと
Wordpress カテゴリーでソートした後、
ページ送りで2P目以降が404になるのを阻止したい。
発生している問題・エラーメッセージ
カテゴリーでソートし表示した際、ページ送り2P目以降が404
今回、2か所に同じコードを書いており、
そのうち、一つは問題なく稼働しております。
infoページ(カスタム投稿) taxonomy【info_cat】を参照
- ALL →ページ送り問題なし
- カテゴリ1 →ページ送り問題なし
- カテゴリ2 →ページ送り問題なし
shopページ(カスタム投稿) taxonomy【info_cat】を参照
- ALL →ページ送り問題なし
- カテゴリ1 →問題あり
- カテゴリ2 →問題あり
Custom Post Type UIを利用。
Pagenaviを利用。
該当のソースコード
info、shopページともに表示情報以外は、同じコードです(infoは表示問題なし)。
php
1<?php 2if(isset($_GET['info_cat'])) { 3 $info_cat = $_GET['info_cat']; 4 5 switch ($info_cat){ 6 case 'カテゴリ1': 7 $infoname = ('カテゴリ1'); 8 break; 9 case 'カテゴリ2': 10 $infoname = ('カテゴリ2'); 11 break; 12} else { 13 isset($_GET['']); 14 $infoname =(array('カテゴリ1','カテゴリ2')); 15} 16?> 17 18 <?php 19 $paged = get_query_var('paged') ? get_query_var('paged') : 1; 20 $args = array( 21 'paged' => $paged , 22 'posts_per_page' => '12', 23 'post_type' => 'any', 24 'tax_query' => array( 25 array( 26 'taxonomy' => 'info_cat', 27 'field' => 'slug', 28 'terms' => $infoname, //ページ上部に設定 29 ), 30 ), 31 'post_status' => 'publish', 32 'orderby' => 'date', 33 'order' => 'DESC' 34 ); 35 $the_query = new WP_Query( $args ); 36 if ( $the_query->have_posts() ) : 37 while ( $the_query->have_posts() ) : 38 $the_query->the_post(); 39 ?> 40 41 <!-- ここに表示情報 --> 42 43 <?php 44 endwhile; 45 endif; 46 wp_reset_postdata(); 47 ?> 48 49 <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(array('query'=>$the_query)); } ?>
カテゴリー分けを表示する際、以下のURLになっています。
URL
1/shop/?info_cat=○○ 2/shop/page/2/?info_cat=○○ 2P目のURL(エラー)
試したこと
パーマリンクや、表示数などは試しておりますが、解決せず。
pre_get_posts の投稿等も確認し、トライしていますが
phpはまだ勉強し始めで
$infonameなどの反映方法など全般に手こずっているため、
質問した記述で解決方法が見いだせないかと、考えています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。