-2

Wordpress3.6.1 のテスト プラグインで wp_redirect を使用しようとしました。これは単純なプラグインですが、機能しませんでした。これは私のコードです:

<?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

このコードで何が起こっているのか、私を助けてください

4

2 に答える 2

3

でバッファリングしてみてくださいob_start()

add_action('init', 'do_output_buffer');
function do_output_buffer() {
        ob_start();
}
于 2013-10-15T11:18:07.420 に答える