使用分类项目自定义字段 (term_meta) 对 WordPress 分类项目进行排序

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

/**
 * 分类项目排序字段
 *
 * @param        Term Object $term
 * @param string $taxonomy
 */
add_action( 'category_edit_form_fields', 'term_order_field', 10, 2 );
function term_order_field( $term, $taxonomy ) {
   ?>

   

调用分类项目时使用自定义字段进行排序
在前段调用分类列表的时候就非常方便了,给 term_terms 函数传入一个包含自定义字段名称、排序方法为 meta_value_num 的数组就可以了。

$args = [
   'meta_key'   => '_term_order',
   'orderby'    => 'meta_value_num',
];

$terms = get_terms( 'category', $args );

如果有需要,我们还可以通过 manage_category_custom_column 函数把排序序号在后台的分类列表中显示出来,可以更直观方便的看到分类项目的排序。

声明:本站资源绿色无后门无广告,可放心下载。如无特殊说明或标注,均为本站原创发布,转载请注明出处!