0

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隠し名前として名前を持っていますが、値は異なります。membersevent。私の問題は、送信ボタンをクリックすると、受信される値が常に最後の非表示の入力値になることです。例えばevent

検索結果を正しいページに誘導できるように、どのフィールドが選択されたかを判断する方法はありますか。(検索ページは、検索に基づいてさまざまな情報を引き出します)。

ありがとう、

4

1 に答える 1