自定义分类法的自定义字段只不过是自定义模板。例如,可以删除post_tag
分类法通过remove_meta_box()
函数并通过添加自定义模板add_meta_box()
作用
Examples
删除标记模板:
/* Remove default post tags template. */
add_action( \'admin_menu\' , \'example_remove_taxonomy_template\' );
/**
* Remove taxonomy template
*
* Removes the defualt meta tags template, in this example, we don\'t want
* people to add their own tags, so the whole purpose of this function is
* to remove the functionality that allows people to type in their own tags.
*/
function example_remove_taxonomy_template() {
remove_meta_box( \'tagsdiv-post_tag\' , \'post\' , \'side\' );
}
以上内容删除了
Tags 盒我们将再次添加它,但我们将更改
post_tag
分类学在这种情况下,我们将删除人们用来键入新标记术语的输入栏,在我们的新模板中,人们只能从下拉列表中选择预定义的标记。
模板:
/**
* Custom tags template.
*
* Creates a custom taxonomy template. Poeple will no longer be able to type new rubbish tags,
* they should use the existing ones ;)
*/
function example_tags_template() {
global $post;
$example_tags = array();
/* Set the post ID if not provided. */
$post_id = $post->ID;
/* Get the \'given\' terms attached to the given post ID. */
$terms = get_the_terms( $post_id, \'post_tag\' );
/* Return the format of each taxonomy. */
if ( $terms && ! is_wp_error( $terms ) ) {
foreach( $terms as $term )
$example_tags = $term->$format;
}
$example_tag = join( ", ", $example_tags );
/* Open the container div of the taxonomy. */
echo\'<div class="input-text-wrap" style="margin:5px 0 0">\';
/* Get the terms in a select input field. */
wp_dropdown_categories(
array(
\'taxonomy\' => \'post_tag\',
\'hide_empty\' => 0,
\'name\' => "example[post_tag]",
\'selected\' => ( $example_tag ? $example_tag : 0 )
)
);
echo\'</div>\';
}
正如您在上面的代码中所看到的,自定义
post_tag
模板已经准备好了,我们只需要将其挂接到WordPress,下面的代码就可以完成这项工作。
/* Add modified custom template post tags taxonomy. */
add_action( \'add_meta_boxes\', \'example_add_taxonomy_template\' );
/**
* Add taxonomy template
*
* Adds post tags taxonomy with custom taxonomy template. People should select
* post tags instead of typing them.
*/
function example_add_taxonomy_template() {
add_meta_box( \'post_tag\', \'Choose a Tag\', \'example_tags_template\', \'post\', \'side\', \'low\' );
}
正如您在上面的示例中所看到的,您可以修改内置元框的默认模板,甚至可以删除后摘录元框并重新附加以启用所见即所得支持。
上面的代码并不是最好的示例,我已经动态编写了这些函数,但当我希望客户选择将其内容放在首页的位置时,我已经多次使用了此功能;e、 g.幻灯片区、功能区等。。。
干杯