我正在运行一个基于wordpress的网站,我需要让用户选择如何在类别页面中显示帖子。
我想在分类页面中有一个可以点击的按钮,这样读者就可以选择是否要查看按日期或从a到Z或从Z到a排序的帖子。
有没有人能告诉我如何做到这一点?请解释一下,就像你在和你12岁的儿子说话一样:-)我在谷歌上搜索了很多关于这一点的信息,但我从来没有找到任何可以复制/粘贴到代码中或可以修改的内容。我不明白怎么做。。。有什么解决方案吗?
我正在运行一个基于wordpress的网站,我需要让用户选择如何在类别页面中显示帖子。
我想在分类页面中有一个可以点击的按钮,这样读者就可以选择是否要查看按日期或从a到Z或从Z到a排序的帖子。
有没有人能告诉我如何做到这一点?请解释一下,就像你在和你12岁的儿子说话一样:-)我在谷歌上搜索了很多关于这一点的信息,但我从来没有找到任何可以复制/粘贴到代码中或可以修改的内容。我不明白怎么做。。。有什么解决方案吗?
在您的类别中排名第一。php(取决于主题文件)添加一个简单的表单,让用户对a-Z或Z-a进行排序:
<form action="" name="custom_order" method="POST">
<p> sort order:
<select name="CU_Order" id="CU_Order">
<option value="ASC">A-Z</option>
<option value="DESC">Z-A</option>
</select>
</p>
<p>
<input type="hidden" name="cs_action" value="custom_sort_order">
<input type="submit" name="submit" value="sort">
</p>
</form>
然后使用pre_get_posts
钩住您将查询更改为用户选择的顺序:add_action( \'pre_get_posts\', \'change_sort_order\' );
function change_sort_order(&$query){
if (isset($_POST[\'cs_action\']) && $_POST[\'cs_action\'] == \'custom_sort_order\'){
global $wp;
if (isset($wp->query_vars["CU_Order"])){
$query->set( \'order\', $wp->query_vars["CU_Order"] );
}
}
}
剩下的就是添加CU_Order
WordPress知道使用的查询变量列表的顺序query_vars
挂钩:add_filter(\'query_vars\', \'add_custom_order_query_vars\');
function add_custom_order_query_vars($vars) {
// add CU_Order to the valid list of variables
$new_vars = array(\'CU_Order\');
$vars = $new_vars + $vars;
return $vars;
}
更简单的解释:复制类别中的第一个代码。php
将其余内容复制到主题的功能中。php
完成。
当我想安装一个新的Wordpress插件时,我会搜索我想要的插件,并收到一个结果列表。有没有办法按评级或名称对结果进行排序?如果没有,它将是Wordpress的一个有用的补充。