検索での404について
-
「エリア」「ジャンル」「ワード」で検索し、ヒットした記事を1ページに10件並べて、まだ記事があれば次のページへ…というものを作成したいのですが、404が出ます。
出るページ数は検索ワードで違っています。「エリア」「ジャンル」はカスタムフィールドのセレクトボックスで作成しており、同じであれば表示です。
「ワード」は、カスタムフィールド「内容」「全文」のどれかで文字があれば表示です。
ページネーションはプラグイン「WP-PageNavi」を使用しています。以下、search.phpの内容です。
$area = $_GET[‘area’]; // 検索エリア
$genre = $_GET[‘genre’]; //検索ジャンル
$searchtext = htmlspecialchars($_GET[‘s’], ENT_QUOTES, ‘UTF-8’); //検索ワード$paged = get_query_var(‘paged’)? get_query_var(‘paged’) : 1;
$args = array(
‘post_type’ => ‘post-t’,
‘posts_per_page’ => 10,
‘paged’ => $paged,
‘post_parent’ => 0,
‘post_status’ => “publish”,
‘meta_query’ => array(
‘relation’=>’AND’,
array(
‘key’=>’エリア’,
‘value’=>$area[0],
‘compare’=>’LIKE’
),
array(
‘key’=>’ジャンル’,
‘value’=>$genre[0],
‘compare’=>’LIKE’
),
array(
‘relation’=>’OR’,
array(
‘key’=>’内容’,
‘value’=>$searchtext,
‘compare’=>’LIKE’
),
array(
‘key’ => ‘全文’,
‘value’=>$searchtext,
‘compare’=>’LIKE’
),
),
),
);// クエリの定義
$the_query = new WP_Query( $args );
?>
<?php // ループ
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) :
$the_query->the_post(); ?>
———繰り返す部分———
<?php endwhile; ?>
<?php // ページナビ ?>
<div class=”pagenavi-area”>
<?php
if(function_exists(‘wp_pagenavi’)) {
wp_pagenavi(
array(
‘query’=>$the_query,
‘options’ => array(
‘num_pages’ => 4
)
)
);
}
wp_reset_postdata();
?>
</div>
<?php wp_reset_query();endif; ?>自分なりに調べたところ、全ページの取得が上手くいっていないようなのですがどこをどう改善していいのか分からずにいます。
ご教授いただければ幸いです。
足りない情報がありましたら追加いたします。よろしくお願いいたします。
- トピック「検索での404について」には新たに返信することはできません。