最合适的回答,由SO网友:Dan. 整理而成
标记(术语)没有menu_order
(见DB中表格的设计)。
如果你想给术语一个“menu\\u顺序”,你需要自己创建这个。
只要WP>=4.4.0,就可以使用该功能term_meta
.
这就好比post meta对post一样。
您可以为术语创建“菜单顺序”“自定义字段”,然后可以在创建/编辑术语时设置菜单顺序。
相关功能包括:
add_term_meta();
update_term_meta();
get_term_meta();
delete_term_meta();
请参见此处-
https://codex.wordpress.org/Function_Reference/add_term_meta当查询时,您的代码不会对术语meta起作用。您需要编写自己的小部件,其中包含get_terms()
. E、 g。
$args = array(
\'taxonomy\' => \'taxonomy_name\', //can be array with multiple tax
\'meta_key\' => \'menu_order\',
\'orderby\' => \'meta_value\',
\'order\' => \'DESC\',
);
$terms = get_terms($args);
要在“管理”面板中构建UI;保存用于添加/编辑术语元的函数,我认为对于SO/SE答案来说,这个过程有点长。
如果你在谷歌上搜索“wp-term-meta”,你就会知道怎么做。
您总共需要4或5个函数。
您将使用的挂钩有:
{$taxonomy}_add_form_fields // add the custom field to the \'new term\' form
{$taxonomy}_edit_form_fields // add the custom field to the \'edit term\' form
create_{$taxonomy} // for saving the term meta from the \'new term\' form
edit_{$taxonomy} // for saving the term meta from the \'edit term\' form
manage_edit-{$taxonomy}_columns // OPTIONAL adds a column, for the custom field, in the terms table for the taxonomy
或者,使用如下插件
this one (或复制其中的代码)。