0

我正在尝试设置一个下拉菜单,允许用户通过三个/四个不同的查询进行选择,然后当他们选择一个时,他们所在的当前页面会根据他们单击的任何查询而变化。现在我有一个基本的 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'则默认情况下会成功查询帖子。但是下拉菜单实际上并没有查询任何帖子。那么,如何使此下拉列表成功查询用户所在页面/类别的帖子?

4

1 回答 1

1

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

于 2013-01-15T21:37:39.333 回答