Intereting Posts
Список постраничных сообщений на главной странице Shortcode для возврата отдельной персонализированной почты на основе таксономии почтовых сообщений Скорость изображений слайдера должна быть увеличена в wordpress Возвращает один уникальный результат пользовательского типа сообщения, когда он разделяет пользовательскую таксономию в WP_QUERY? Добавление полезных тем в темы Что такое параметр ID для пользовательских типов сообщений в query_posts? Невозможно изменить заголовки IP-адреса для блокировки, чтобы остановить автоматическое обновление WP? Страница шаблонов пользовательских сообщений если post id соответствует этим id, тогда сделайте это Автор сообщения изменен на admin после того, как его сообщение изменено администратором Каждая новая запись / черновик имеет настраиваемую полевую переменную «yst_is_cornerstone», показывающая Можно выполнить поиск по имени автора с помощью функции поиска по умолчанию WordPress? Как включить или отключить флажки в настраиваемом типе сообщений Является ли это хорошей идеей для смены автора Slug (user_nicename) непосредственно в базе данных MySQL?

wp_redirect не работает на странице меню администратора

Я пытаюсь создать ссылку меню администратора на панели управления бэкэнд, которая приведет пользователей к интерфейсу своего сайта. Я пытаюсь использовать этот код, но по какой-то причине перенаправление не работает.

// Custom Menus add_action('admin_menu', 'register_web_menu_page'); function register_web_menu_page() { add_menu_page('View My Website', 'View My Website', 'add_users', 'web_menu_page', 'web_menu_page', '', null, 9); } function web_menu_page(){ wp_redirect( home_url() ); exit; } 

Пользователь нажимает ссылку меню и берет веб-страницу и не перенаправляется на домашний URL-адрес.

Я не уверен, почему он не перенаправляет, никакой помощи?

Проблема в том, что функция, которую вы используете, запускается после HTTP-заголовка, отправляется, поэтому она не может перенаправляться.

Вы должны использовать другой способ.

Один из методов может перехватить глобальную переменную menu и добавить новый пункт меню со всеми свойствами:

 add_action( 'admin_menu', 'register_web_menu_page', 999); function register_web_menu_page () { global $menu; $menu[9] = array ( 'View My Website', // menu title 'add_users', // capability home_url(), // menu item url null, 'menu-top menu-icon-generic toplevel_page_web_menu_page', // menu item class 'View My Website', // page title false // menu function ); } 

Это не исключает стандартный путь, потому что вы знаете стандартный способ добавления пунктов меню – использовать функцию add_menu_page .

Если вы хотите использовать только стандартные методы, настройте меню, используя функцию '__return_false' -nothing, точно так же, как '__return_false' , а затем используйте другую функцию для перенаправления на домашнюю страницу, если $_GET['page'] = для вашего меню. admin init (перед отправкой заголовков):

 add_action('admin_menu', 'register_web_menu_page'); function register_web_menu_page() { add_menu_page('View My Website', 'View My Website', 'add_users', 'web_menu_page', '__return_false', null, 9); } add_action('admin_init', 'redirect_to_site', 1); function redirect_to_site() { if ( isset($_GET['page']) && $_GET['page'] == 'web_menu_page' ) { wp_redirect( home_url() ); exit(); } } 

Вы можете использовать load-(page) ( reference )

Из исходного кода.

 add_action('admin_menu', 'register_web_menu_page'); function register_web_menu_page() { $hook = add_menu_page('View My Website', 'View My Website', 'add_users', 'web_menu_page', 'web_menu_page', '', null, 9); add_action('load-' . $hook, 'redirectNiceUrl'); } function redirectNiceUrl() { wp_redirect(home_url()); }