Я попытался использовать wp_redirect в своем тестовом плагине в WordPress3.6.1, это простой плагин, но он не работает. Это мой код:
<?php /* Plugin Name: Test Plugin URI: http://localhost Description: This is just test plugin Author: author Version: 1.0 Author URI: http://localhost */ function test_menu(){ $page_title = 'Test'; $menu_title = 'Test'; $capability = 'manage_options'; $menu_slug = 'test-menu'; $function = 'my_test'; add_menu_page($page_title, $menu_title, $capability,$menu_slug, $function); } add_action('admin_menu', 'test_menu'); function my_test(){ wp_redirect("http://www.google.com.vn"); exit; }
Когда вы нажмете меню «Тест», я получил предупреждение:
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\wp3.6.1\wp-admin\includes\template.php:1706) in C:\AppServ\www\wp3.6.1\wp-includes\pluggable.php on line 875
Пожалуйста, помогите мне, что случилось с этим кодом
Попробуйте буферизацию с помощью ob_start()
add_action('init', 'do_output_buffer'); function do_output_buffer() { ob_start(); }
он полностью работает на моем. Возможно, могут быть конфликты переменных значений.
Я использовал этот. попробуй это.
<?php /* Plugin Name: Test Plugin URI: http://localhost Description: This is just test plugin Author: author Version: 1.0 Author URI: http://localhost */ function test_menu(){ $page_title = 'Test'; $menu_title = 'Test'; $capability = 'manage_options'; $menu_slug = 'test-menu'; $function = 'my_test'; add_menu_page($page_title, $menu_title, $capability,$menu_slug, $function); } add_action('admin_menu', 'test_menu'); function my_test(){ wp_redirect("http://www.google.com.vn"); exit; } ?>
благодаря