这绝对是可能的,而且也很容易!
如果您想注册现有的分类法(即。category
) 现有职位类型(即page
), register_taxonomy_for_object_type()
可以使用。E、 g.:
add_action( \'init\', \'wpse_register_category_tax_for_page\' );
function wpse_register_category_tax_for_page() {
$taxonomy = \'category\';
$object_type = \'page\';
register_taxonomy_for_object_type( $taxonomy, $object_type );
}
还可以创建新的分类法,并将其与新的/现有的帖子类型相关联。在本例中,分类法
classification
与现有职位类型关联,
page
:
add_action( \'init\', \'wpse_register_custom_taxonomy\', 0 );
function wpse_register_custom_taxonomy() {
// Arguments for register_taxonomy().
$args = [
\'public\' => true,
\'hierarchical\' => true,
\'label\' => __( \'Classification\', \'textdomain\' ),
\'show_ui\' => true,
\'show_admin_column\' => true,
\'query_var\' => \'classification\',
\'rewrite\' => [ \'slug\' => \'classification\' ],
];
// Array of post types to associate with this taxonomy.
$post_types = [ \'page\' ];
register_taxonomy( \'classification\', $post_types, $args );
}
请注意,参数
$show_admin_column
已设置为
true
在这里这将确保将分类法列添加到
/wp-admin/edit.php?post_type=page
屏幕
让我们假设其他插件注册了classification
分类并设置$show_admin_column
参数到false
. 我们可以使用register_taxonomy_args
要覆盖原始设置并确保分类显示在“管理”列中,请执行以下操作:
add_filter( \'register_taxonomy_args\', \'wpse_edit_taxonomy_args\', 10, 3 );
function wpse_edit_taxonomy_args( $args, $taxonomy, $object_type ) {
// Array of taxonomies to change arguments on.
$taxonomies = [
\'classification\',
];
// Set $show_admin_column to true.
if ( in_array( $taxonomy, $taxonomies ) ) {
$args[ \'show_admin_column\' ] = true;
}
return $args;
}