Intereting Posts
Список пользователей с наибольшим количеством сообщений Отключить тег SVG automatig из меню Проверка Если должности существуют в категории пользовательских сообщений, вне цикла Не удалось получить галерею, вставленную между короткими кодами миниатюры становятся обрезанными, вместо них требуется изменить размер Как удалить дублированных пользователей из двух объединенных объектов WP_User_Query? Условия автоматического соединения Регистрация функции обратного вызова AJAX, которая является частью класса без создания экземпляра класса в функции function.php Что я могу заменить '.get_bloginfo (' url ').' для возврата текущего URL-адреса вместо домашнего адреса? add_filter для встраивания youtube? Заменить первое появление слова со ссылкой Найти файл url в сообщении и добавить его в медиа-библиотеку Как я могу доказать, что wp cron выполняет мою задачу, если у меня установлено значение DISABLE_WP_CRON равным true Как работает глобальная переменная $ post_type? Создать отзыв и рейтинг для учетных записей пользователей в wp-admin

Добавление пользовательских метабокс в пользовательские страницы

Я хочу иметь возможность добавлять метабокс на новую страницу подменю, которую я создал. У меня есть следующий базовый код, который, как я надеялся, будет работать, но, похоже, это не так:

add_action("init", "my_register_post_types"); function my_register_post_types() { register_post_type("my-cpt", array( "label" => "My CPT", "public" => true )); } add_action("admin_menu", "my_add_menu_items"); function my_add_menu_items() { add_submenu_page("edit.php?post_type=my-cpt", "Test Page", "Test Page", "edit_posts", "my-cpt-slug", "display_my_test_page"); //return value from this is my-cpt_page_my-cpt-slug } function display_my_test_page() { do_meta_boxes("my-cpt", "normal", null); } add_action("add_meta_boxes", "my_add_metaboxes"); function my_add_metaboxes() { add_meta_box("my-cpt-metabox", "My CPT Metabox", "display_my_metabox", "my-cpt_page_my-cpt-slug", "normal", "core"); } function display_my_metabox() { echo "Hello"; } 

Согласно http://shibashake.com/wordpress-theme/standard-wordpress-metabox , я должен использовать возвращаемое значение add_submenu_page, которое будет использоваться в функции add_meta_box вместо пула CPT.

Я надеялся, что метабокс появится на новой «тестовой странице», но без радости. Есть идеи? Я что-то упускаю?

Solutions Collecting From Web of "Добавление пользовательских метабокс в пользовательские страницы"

add_meta_boxes загружает загрузку в edit-form-advanced.php . Ваша пользовательская плагиновая страница «test» не использует этот файл. Вместо этого вам нужно зацепиться за «плагины админа страницы» .

Во-вторых, третий параметр add_meta_box – это просто add_meta_box CPT, а не тот, который у вас есть.

Вот что вам нужно изменить:

 add_action("load-my-cpt_page_my-cpt-slug", "my_add_metaboxes"); function my_add_metaboxes() { add_meta_box("my-cpt-metabox", "My CPT Metabox", "display_my_metabox", "my-cpt", "normal", "core"); }