form
サイトで検索フィルタリングのカスタムを作成しました。非表示の入力フィールドを使用して、選択された検索フィルターのタイプを決定しています。値が渡され、検索ページで値が何であるかを確認し、次のように正しい検索結果ページに移動します。
<?php
$search_refer = $_GET['search_type'];
if($search_refer == 'members') {
load_template(TEMPLATEPATH . '/search-members.php');
} else if($search_refer == 'event') {
load_template(TEMPLATEPATH . '/search-member-event.php');
} else {
load_template(TEMPLATEPATH . '/search-site.php');
}
?>
HTML/PHP の 2 つのフィールドを次に示します。
<div class="state"> // Sorting by user State
<input type="hidden" name="search_type" value="members">
<select id="stateDrop" name="state">
<option value="">State</option>
<?php
foreach($states as $state) {
echo '<option value="'.$state.'">'.$state.'</option>';
}
?>
</select>
</div>
<div class="sort-event"> // Sorting by an Event
<input type="hidden" name="search_type" value="event">
<select id="eventDrop" name="event">
<option value="">Event</option>
<?php
$args = array(
'post_type' => 'events',
'order' => 'ASC'
);
$eQuery = new WP_Query( $args );
while( $eQuery->have_posts() ) : $eQuery->the_post();
echo '<option value="'.$eQuery->post->post_title.'">'.$eQuery->post->post_title.'</option>';
endwhile;
wp_reset_query();
?>
</select>
</div>
どちらもsearch_type
隠し名前として名前を持っていますが、値は異なります。members
対event
。私の問題は、送信ボタンをクリックすると、受信される値が常に最後の非表示の入力値になることです。例えばevent
。
検索結果を正しいページに誘導できるように、どのフィールドが選択されたかを判断する方法はありますか。(検索ページは、検索に基づいてさまざまな情報を引き出します)。
ありがとう、