Sort / Filter Queries

时间:2015-06-23 作者:Forte259

我正在开发一个展示产品的网站,现在我正在开发查询部分。基本上,我希望有一个页面,作为普通查询显示产品列表,然后在页面顶部有几个按钮,可以选择按名称、价格排序,还有一个下拉列表,其中包含品牌和东西等分类法。我可以让一个查询显示我想要的信息,但我不能将所有我想要的东西组合在一个页面中,因为PHP不能跟踪按钮被点击的时间,然后使用if语句,而且我不是专家,我不能再进一步了。有没有一种简单的方法来做我想做的事?Wihtout java或ajax。。。我只想要一个加载了标准查询的页面(我这样做了),然后当有人单击按钮排序时,页面将重新加载,另一个查询将被激活。

提前感谢,经过数小时的研究,这是我最后一次寻求解决方案。

1 个回复
SO网友:Maxim P.

您可以使用GET或POST请求来实现该功能,而无需使用任何AJAX(实际上,AJAX也是这样做的,但使用JS来处理请求)。

您需要添加?name\\u of\\u var=链接到不同查询的标签的尾部斜杠后的值。基本上,你的“可口可乐”链接必须这样看:网站。com/产品/?品牌=可口可乐

之后,让我们看看您的查询代码。预先设置查询变量,在$\\u GET数组中检查所需的变量。这里有一个小例子,你可以理解我在说什么:

$brand = ( isset($_GET[\'brand\']) ) ? $_GET[\'brand\'] : \'post\'; // We do this because post type can\'t be defined as null in WordPress, change it according to your query arguments.
$query_args = array ( \'post_type\' => array( $brand ) );
$your_custom_query = new WP_Query( $query_args );

结束

相关推荐

未维护PRE_GET_POSTS中的查询变量更改

我正在创建一个插件,添加一个自定义提要。我正在使用pre_get_posts 过滤器以更改posts_per_page 将var查询到-1(以获取自定义帖子类型的所有项目)。但是,如果我将$wp_query 在渲染函数中,posts_per_page 保持默认值。我也测试了改变posts_per_rss 到-1,我确实看到了在查询中所做的更改(当然,它对生成的帖子没有任何影响)。我还尝试将主题更改为默认主题并进行测试,但结果相同。谁能解释一下为什么我不能改变posts_per_page 查询变量?defi