前提・実現したいこと
ワードプレスの検索結果をカテゴリーやタグで絞込みをしてさらに並べ替えたいのですがどうしても片方しか適用されません。
原因をご存知の方どうか力添えをお願い致します!
全体のコード
<form name="irekae" method="post" id="sort_form3" class="sort_form3"> <select name='narabi' onChange="document.forms['irekae'].submit()" > <option value="sort1"<?php if(!isset($_REQUEST['narabi']) || $_REQUEST['narabi'] == 'sort1') echo ' selected="selected"';?>>投稿日時が新しい順</option> <option value="sort2"<?php if(isset($_REQUEST['narabi']) && $_REQUEST['narabi'] == 'sort2') echo ' selected="selected"';?>>投稿日時が古い順</option> <option value="sort5"<?php if(isset($_REQUEST['narabi']) && $_REQUEST['narabi'] == 'sort5') echo ' selected="selected"';?>>アクセス数の多い順</option> <option value="sort6"<?php if(isset($_REQUEST['narabi']) && $_REQUEST['narabi'] == 'sort6') echo ' selected="selected"';?>>アクセス数の少ない順</option> </select> </form> <?php $sortset = $_POST['narabi']; ?> <?php $sortall = array( "sort1" => 'order=DESC&', "sort2" => 'order=ASC&', "sort5" => 'order=DESC&orderby=meta_value_num&meta_key=views&', "sort6" => 'order=ASC&orderby=meta_value_num&meta_key=views&' ); ?> <?php if($sortset != '') { $sort = $sortall[$sortset]; } else { $sort = $sortall["sort1"];} ?> <!-- <?php echo $sort; ?> ソートてすと用--> <?php $args = array( 'tax_query' => $taxquerysp, 's' => $s, 'posts_per_page' => -1, ); ?> <?php query_posts($args . $sort); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
###function.php
/* 絞込み検索 */ function custom_search($search, $wp_query ) { //query['s']があったら検索ページ表示 if ( isset($wp_query->query['s']) ) $wp_query->is_search = true; return $search; } add_filter('posts_search','custom_search', 10, 2);
問題のソースコード
php
1<?php 2query_posts($args . $sort); 3?>
試したこと
$args . $sort にすると並べ替えもできないし、絞込みもできない
$args にするとしぼ仕込みはできるが並べ替えはできない
$sort にすると並べ替えはできるが絞込みはできない
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/12 10:10