アーカイブPHPを作成
archive-aaaaaa-search.php などとして保存
下記の例は検索項目をプルダウン方式HTMLで作成
<div class="production_results_area">
<?php
$mate = $_GET['mate'];
$reg = $_GET['reg'];
$oreg = $_GET['oreg'];
$kwd = $_GET['kwd'];
$paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
$args = array (
'category__in' => array($mate,$reg,$oreg,$kwd), // カテゴリのIDを記入する
'order' => 'DESC', // 記事の並び順 昇順(ASC)、降順(DESC)
'paged' => $paged,
'post_per_page' => 12, //表示する記事の数
'paged' => $paged
);
$paged = (int) get_query_var('paged');
$the_query = new WP_Query( $args ); ?>
<?php if( $the_query -> have_posts() ): while ( $the_query -> have_posts()): $the_query -> the_post(); ?>
<div class="production_results_box">
<a href="<?php the_permalink(); ?>">
<div class="expansionimg_box">
<img src="<?php the_field('actual-product-image01'); ?>" >
</div>
<!--<?php the_category(' '); ?>-->
<p class="production_results_cate">
<?php
$cats = get_the_category();
foreach ( $cats as $cat ):
if ( $cat->parent ) echo '<span class="cate_name">'. $cat->cat_name.'</span>';
endforeach;
?>
</p>
<div class="purchaselist_item_title">
<?php
$text = get_the_title();
$limit = 52;
if(mb_strlen($text) > $limit) {
$title = mb_substr($text,0,$limit);
echo "<h3>".$title. "……</h3>" ;
} else {
echo "<h3>".$text."</h3>";
} ?>
</div>
</a>
</div>
<?php endwhile; endif; ?>
</div>
<?php
// pagination
echo '<div class="pagination">';
if ($the_query->max_num_pages > 1) {
echo paginate_links(array(
'base' => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),
'format' => '?paged=%#%',
'current' => max(1, $paged),
'total' => $the_query->max_num_pages,
'end_size' => '1',
'mid_size' => '2',
'prev_next' => true,
'prev_text' => '<',
'next_text' => '>',
'type' => 'list'
));
}
echo '</div>';
wp_reset_postdata();
?>
<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/enhanced-search' ) ); ?>">
<label for="s">素材</label>
<select name="mate" id="mate">
<option value="">選択してください</option>
<option value="19">ステンレス</option>
<option value="20">炭素鋼</option>
<option value="21">特殊材料</option>
</select>
<label for="s">適用法規</label>
<select name="reg" id="reg">
<option value="">選択してください</option>
<option value="5">第一種圧力容器</option>
<option value="6">第二種圧力容器</option>
<option value="7">高圧ガス特定設備</option>
<option value="8">消防法タンク(危険物タンク)</option>
<option value="9">ボイラー</option>
<option value="10">その他容器・構造物</option>
</select>
<label for="s">適用法規外</label>
<select name="oreg" id="oreg">
<option value="">選択してください</option>
<option value="11">大径鋼管</option>
<option value="12">各種構造物製造</option>
</select>
<label for="s">キーワード</label>
<select name="kwd" id="kwd">
<option value="">選択してください</option>
<option value="13">槽</option>
<option value="14">ジャケット槽</option>
<option value="9">ボイラー</option>
<option value="15">攪拌槽</option>
<option value="16">熱交換器</option>
<option value="17">塔</option>
<option value="10">その他容器・構造物</option>
</select>
<input type="submit" class="submit" value="検索" />
</form>
<form method="get" action="<?php bloginfo( 'url' ); ?>">
<input type="hidden" name="search_type" value="production">
<input name="s" id="s" type="text" />
<input type="hidden" name="cat" id="cat" value="18">
<input id="submit" type="submit" value="検索" />
</form>
</div>
</div><!--wrapper-->
・検索キーワードをGETで受取。
・表示処理やページネーション
・検索用formを設置
上記PHPファイルを固定ページに埋め込み
・表示処理やページネーション
・検索用formを設置
上記PHPファイルを固定ページに埋め込み
フォームのとび先は固定ページのURL
検索結果表示PHPを作成
一番下にテキスト入力検索formもある。
こちらの飛び先を固定ページにすると404エラーになるので「/」として
ワードプレスのsearch.phpを利用するが、通常の検索とデザインが異なるため
専用のPHPをsearch.phpを複製して保存、振り分け処理をする。
ワードプレスのsearch.phpを利用するが、通常の検索とデザインが異なるため
専用のPHPをsearch.phpを複製して保存、振り分け処理をする。
作成方法は
「検索フォームごとにsearch.phpを振り分ける」を参照
https://in-novare.com/blog/archives/304