Відповіді:
Так. Коли ви реєструєте тип своєї публікації, вам потрібно встановити show_in_menu
сторінку, на якій ви хотіли б її відображати.
Тут ми встановлюємо тип публікації "фільми", який повинен бути включений у підменю під "Повідомлення".
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'has_archive' => true,
'show_in_menu' => 'edit.php'
)
);
Якщо у вас є таксономія, зареєстрована до спеціального типу публікації, її потрібно буде також додати до сторінки.
У add_submenu_page()
першому аргументі - це сторінка, якій слід призначити її, а в останньому - це слуп меню.
add_action('admin_menu', 'my_admin_menu');
function my_admin_menu() {
add_submenu_page('edit.php', 'Genre', 'Genre', 'manage_options', 'edit-tags.php?taxonomy=genre');
}
Щоб додати сторінки до іншого користувальницького типу публікації, додайте параметр рядка запиту типу публікації разом із назвами сторінок.
Щоб додати фільми CPT та його жанр таксономії під типом публікації Entertainment, відрегулюйте такий код.
edit.php
стає edit.php?post_type=entertainment
edit-tags.php
стає edit-tags.php?taxonomy=genre&post_type=entertainment
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'has_archive' => true,
'show_in_menu' => 'edit.php?post_type=entertainment'
)
);
add_action('admin_menu', 'my_admin_menu');
function my_admin_menu() {
add_submenu_page('edit.php?post_type=entertainment', 'Genre', 'Genre', 'manage_options', 'edit-tags.php?taxonomy=genre&post_type=entertainment');
}
show_in_menu
атрибут, не працював для мене.
Наш спеціальний тип публікації:
$args['show_in_menu'] = false;
register_post_type('custom_plugin_post_type', $args);
Додайте його до наявного користувальницького типу публікації (наприклад, "продукт"):
$existing_CPT_menu = 'edit.php?post_type=product';
$link_our_new_CPT = 'edit.php?post_type=custom_plugin_post_type';
add_submenu_page($existign_CPT_menu, 'SubmenuTitle', 'SubmenuTitle', 'manage_options', $link_our_new_CPT);
Або додайте до нашого користувальницького меню плагінів:
// Create plugin menu
add_menu_page('MyPlugin', 'MyPlugin', 'manage_options', 'myPluginSlug', 'callback_render_plugin_menu');
// Create submenu with href to view custom_plugin_post_type
$link_our_new_CPT = 'edit.php?post_type=custom_plugin_post_type';
add_submenu_page('myPluginSlug', 'SubmenuTitle', 'SubmenuTitle', 'manage_options', $link_our_new_CPT);