0

ユーザーが3つまたは4つの異なるクエリを選択できるようにするドロップダウンメニューを設定しようとしています.1つを選択すると、クリックしたクエリに応じて現在のページが変わります。現在、クリックすると変化する基本的なhtml選択ドロップダウンがあり、PHPクエリコードも設定しています..2つをリンクする方法がわからないので、どのページでも取得して、対応する投稿を表示します選択したクエリに対して..しかし、それにもかかわらず、ここに私がこれまでに得たものがあります。

HTML:

<form method="get" name="QueryChange"> 
<select name="query" onChange="this.form.submit()">
    <option value="0">Select Query</option>
    <option value="1">Query 1</option>
    <option value="2">Query 2</option>
</select>
</form>

PHP:

<?php

$query = '';

switch( $_POST['query'] ) {
    case '2':
        $query = 'gdsr_sort=rating2'; // your second query
        break;
    case '1':
        $query = 'gdsr_sort=rating'; // your first query
    break;
    default:
    case '0':
        $query = '';
        break;
}

// The Query
query_posts( $query );

// The Loop
while ( have_posts() ) : the_post();
?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php 
endwhile;

// Reset Query
wp_reset_query();
?>

現在、ドロップダウン メニューからオプションを選択すると、ページが更新されますが、投稿のクエリが正常に実行されません。デフォルトのケースを「0」に設定すると、'gdsr-Sort=rating'デフォルトで投稿が正常にクエリされます。ただし、ドロップダウン メニューは実際には投稿を照会しません。では、このドロップダウンで、ユーザーがいる現在のページ/カテゴリの投稿を正常にクエリするにはどうすればよいでしょうか?

4

1 に答える 1

1

GET ( ) 経由でフォームを送信していますが、スクリプト<form method="get">をチェックインしています。代わりに$_POST['query']チェックしてみてください。$_GET['query']

于 2013-01-15T21:37:39.333 に答える