在您的类别中排名第一。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
完成。