通过更改当前页面/类别的查询。落下

时间:2013-01-15 21:33:54

标签: php wordpress loops

我正在尝试设置一个下拉菜单,允许用户选择三个/四个不同的查询,然后当他们选择一个时,他们所在的当前页面会根据他们点击的查询而发生变化。现在我有一个基本的html选择下拉列表,点击更改我也有我的PHP查询代码设置..我不知道如何链接这两个所以它会得到你的任何页面,然后显示相应的帖子无论你选择什么样的查询..但是,到目前为止,这是我得到的。

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',则默认情况下会成功查询帖子。但是,下拉菜单实际上并不查询任何帖子。那么我如何成功地为此下拉列表查询用户所在的当前页面/类别的帖子?

1 个答案:

答案 0 :(得分:1)

您是通过GET(<form method="get">)提交表单,但是您在脚本中检查$_POST['query']。请尝试检查$_GET['query']