使用分类项目自定义字段 (term_meta) 对 WordPress 分类项目进行排序
文 / @UTHEME
使用WordPress分类项目自定义字段进行排序
今天小本本想和大家分享的是如何使用WordPress的分类项目自定义字段进行排序,这对于一些需要对分类项目进行排序的网站非常实用。在本站之前的文章中,我推荐过WordPress排序插件AnythingOrder,这个插件使用起来很方便,可有时候会和我们使用的其他插件造成冲突。WordPress4.4之前,分类项目排序只支持分类项目自有的字段id、term_id、name、slug等。WordPress4.4为我们带来了分类项目自定义字段term_meta
的支持,有了这个数据,我们就可以通过添加分类项目自定义字段来进行排序了。下面是具体的方法。
添加分类项目自定义字段输入表单
首先,我们需要添加一个分类项目自定义字段输入表单,添加后,在编辑分类项目的时候,我们会看到如下图中的分类排序输入字段。根据我们的排序需求,从小到大输入数字就可以了。

/**
*分类项目排序字段
*
*@param TermObject $term
*@param string $taxonomy
*/
add_action('category_edit_form_fields','term_order_field',10,2);
function term_order_field($term,$taxonomy){
?>
<table class="form-table">
<tbody>
<tr class="form-field">
<th scope="row" valign="top">
<label for="meta-order"><?php _e('排序');?></label>
</th>
<td>
<input type="text" name="_term_order" size="3" style="width:10%;" value="term_id,'_term_order',true);?>"/>
</td>
</tr>
</tbody>
</table>
<?php
}
/**
*保存排序
*
*@param int $term_id
*/
add_action('edited_category','save_term_order');
function save_term_order($term_id){
update_term_meta($term_id,'_term_order',$_POST['_term_order']);
}
调用分类项目时使用自定义字段进行排序
在前段调用分类列表的时候就非常方便了,给term_terms
函数传入一个包含自定义字段名称、排序方法为meta_value_num
的数组就可以了。
$args=[
'meta_key'=>'_term_order',
'orderby'=>'meta_value_num',
];
$terms=get_terms('category',$args);
如果有需要,我们还可以通过 manage_category_custom_column函数把排序序号在后台的分类列表中显示出来,可以更直观方便的看到分类项目的排序。

相关文章
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57
-
WordPress的Customize Partial功能最全介绍(含:demo代码) 2023-07-16 00:21:56