Intereting Posts
Проблема перенаправляет «блог» на «новости» в WordPress с использованием .htaccess Установка верхнего предела загрузки Как добавить средства массовой информации из внешнего интерфейса в существующий пост? Исключить категорию из цикла, не работающего API переходных процессов и мультисайты новая страница (редактор) ширина не мобильная реакция Возможности WordPress и ограниченный доступ к категориям Отключить запросы на api.wordpress.org Добавление пользовательского поля ACF в заголовок страницы как настроить настраиваемые структуры контента Почему все роли назначаются пользователю при использовании wp_insert_user ()? обновить многопользовательское мета-поле на основе другого мета-поля Добавление кнопки загрузки в метабокс Отключить боковую панель на странице продукта в разделе «Вид магазина» Ошибка базы данных WordPress У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL

Создание новой страницы с предопределенной родительской страницей

У меня есть блог с очень сложной структурой страницы (например, 4 уровня иерархии).

При создании новых страниц очень сложно выбрать родительскую страницу из раскрывающегося списка, так как она постоянно растет.

По этой причине я хотел бы добавить кнопку в панель администратора frontend, которая указывает на post-new.php , но с параметром «идентификатор родительской страницы». Фактически, кнопка позволит вам перейти к желаемой родительской странице на первой странице, а затем щелкнуть ссылку «добавить новую страницу здесь», которая приведет вас к фоновому серверу с выбранной исходной страницей.

Однако, кажется, невозможно добавить параметры post-new.php и связанный запрос функции был закрыт в post-new.php WordPress.

Кто-нибудь знает решение, которое не требует взлома ядра? Одна из моих идей заключалась в подключении к крюку, который запускается до создания нового элемента, вытаскивая родительскую страницу из параметра GET и устанавливая его в текущем элементе. Если это жизнеспособный способ, я был бы признателен за простой указатель, который будет использоваться.

Вы правы на отметке с GET, что, вероятно, будет проще всего использовать.

Попробуй это:

 Add_Child_Page::on_load(); class Add_Child_Page { static function on_load() { add_action( 'init', array( __CLASS__, 'init' ) ); add_action( 'admin_init', array( __CLASS__, 'admin_init' ) ); } static function init() { add_action( 'admin_bar_menu', array( __CLASS__, 'admin_bar_menu' ), 90 ); } static function admin_bar_menu( $wp_admin_bar ) { if( is_page() ) { $wp_admin_bar->add_node( array( 'id' => 'add_child_page', 'title' => 'Add Child Page', 'href' => add_query_arg( array( 'post_type' => 'page', 'page_parent' => get_the_ID() ), admin_url( 'post-new.php' ) ), ) ); } } static function admin_init() { add_filter( 'page_attributes_dropdown_pages_args', array( __CLASS__, 'page_attributes_dropdown_pages_args' ) ); } static function page_attributes_dropdown_pages_args( $dropdown_args ) { if ( ! empty($_REQUEST['page_parent']) ) $dropdown_args['selected'] = (int) $_REQUEST['page_parent']; return $dropdown_args; } }