我试图显示一个管理菜单项下的自定义分类法,这只是一个页面,即http://example.com/wp-admin/admin.php?page=bla.
根据register\u分类法下的WordPress Dev.页面的show\u in\u menu
,它说:
“某些字符串”-如果是现有的顶级页面,如“工具”。php“或”编辑。php?post_type=page',post类型将作为该页面的子菜单放置。
这是否意味着分类法只能显示在这些分类下?
PHP
<?php
// hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_book_taxonomies', 0 );
// create two taxonomies, genres and writers for the post type "book"
function create_book_taxonomies() {
// Add new taxonomy, make it hierarchical (like categories)
$labels = array(
'name' => _x( 'Genres', 'taxonomy general name' ),
'singular_name' => _x( 'Genre', 'taxonomy singular name' ),
'search_items' => __( 'Search Genres' ),
'all_items' => __( 'All Genres' ),
'parent_item' => __( 'Parent Genre' ),
'parent_item_colon' => __( 'Parent Genre:' ),
'edit_item' => __( 'Edit Genre' ),
'update_item' => __( 'Update Genre' ),
'add_new_item' => __( 'Add New Genre' ),
'new_item_name' => __( 'New Genre Name' ),
'menu_name' => __( 'Genre' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_menu' => 'bla', // not working | tried admin.php?page=bla as well, also not working
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'genre' ),
);
register_taxonomy( 'genre', array( 'book' ), $args );
}
假设我们的分类slug将是vendor
,我们想把它放在下面的父菜单将是myu菜单
。
要授予访问权限,使用默认的manage_categories
功能。这需要与在$args
参数中传递的功能
数组中提供给register_taxonomy
函数的功能相匹配。
add_action('admin_menu', function (): void {
add_submenu_page(
'my_menu', // parent_slug
'Vendors', // page_title
'Vendors', // menu_title
'manage_categories', // capability
'edit-tags.php?taxonomy=vendor' // menu_slug
);
});
add_action('parent_file', function (string $parent_file): string {
global $current_screen;
if ($current_screen->taxonomy === 'vendors') {
return 'my_menu';
}
return $parent_file;
});
在您的分类注册中:
show_in_menu => true
然后需要添加一个子菜单页:
$parent_slug = 'slug_for_parent_menu';
$page_title = 'Submenu Page Title';
$menu_title = 'Submenu Page Title';
$capability = 'manage_options';
$menu_slug = 'edit-tags.php?taxonomy=bla&post_type=custom_post_type_name';
$function = null;
$position = null;
add_submenu_page($parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function, $position);
最后:
add_filter('parent_file', 'menu_highlight');
function menu_highlight($parent_file) {
global $plugin_page, $submenu_file, $post_type, $taxonomy;
if ('custom_post_type_name' == $post_type) {
if ($taxonomy == 'bla') {
$plugin_page = 'edit-tags.php?taxonomy=bla&post_type= custom_post_type_name'; // the submenu slug
$submenu_file = 'edit-tags.php?taxonomy=bla&post_type= custom_post_type_name'; // the submenu slug
}
}
return $parent_file;
}
希望我把这些都写对了。嵌套分类检查中的任何其他if,并为其他post类型添加相同的if。
我找到了解决这个问题的方法,代码如下:
add_action( 'admin_menu', 'shmeh_menu' );
add_action( 'parent_file', 'menu_highlight' );
function shmeh_menu() {
add_submenu_page( 'bla', 'Shmeh', 'Shmeh', 'manage_options', 'edit-tags.php?taxonomy=shmeh');
}
function menu_highlight( $parent_file ) {
global $current_screen;
$taxonomy = $current_screen->taxonomy;
if ( $taxonomy == 'shmeh' ) {
$parent_file = 'bla';
}
return $parent_file;
}
我已经为我的自定义帖子类型注册了自定义分类法: 工作如预期-我可以为我的自定义帖子选择自定义类别。 然后我将其添加到自定义菜单中: 它显示: 当我点击它(“类别”链接)时,分类法编辑页面加载良好,但是,父菜单显示为折叠,子菜单(“类别”)不突出显示: 另一方面,定制的post类型(linke“virtualproducts”)工作正常(见第一张图)。 我可以做一些破解/解决方法,使用JS/CSS使
我在WordPress文件,但当我想添加新文章或编辑新文章时,在“管理”菜单的右侧找不到自定义分类法元框 我的代码用于自定义分类法: 但我找不到我在截图中标记的位置: 我忘记或错过了什么吗?
我找到了很多解决方案,但我的情况完全不同。 现在我的问题是,我正在开发一个插件,在插件中我制作了自定义帖子类型和自定义分类法,首先它的slug是不同的,现在我希望post类型slug和分类法slug是相同的,我也成功地实现了这一点,但有一个问题是,我的类别链接没有显示在管理菜单中,因为当我注册分类法时,我将object_type设置为slug,这在post类型slug和分类法slug中是相同的,但
我不知道为什么自定义文章类型的自定义分类不显示在管理列中(它消失了)。 以下是始终有效的代码: 如下所述: https://codex.wordpress.org/Function_Reference/register_taxonomy 第二个参数设置为null,因为在使用register\u post\u type()时,我将分类法与自定义post类型相关联 我不知道为什么代码停止工作了。我从3
我已经搜索了又搜索,除了我称之为“hack方法”的方法之外,找不到其他方法将自定义分类添加到自定义管理菜单中。 然后我注册我的帖子类型并确保它们使用 这可以工作,自定义帖子类型显示在我的自定义菜单中。 但是自定义分类法不接受同一属性的字符串,只接受true或false。 因此,要添加它,您必须创建一个子菜单页 这是一种“黑客”方式。 还有别的办法吗?如果不修改WordPress核心,我可以覆盖re
我创建了一个自定义的帖子类型(书),然后为这个特定的帖子类型创建了一个自定义分类法(book_cat)。它工作正常,但如果我单击仪表板中的所有书籍页面,则没有列显示已将书籍分配给哪些类别(book_cat)(如果有)。我需要点击每本书编辑并看到那里。 注册新职位类型功能是: 分类法是: