如何在插件表单提交事件上发送“Location”标题?

时间:2013-05-22 作者:Sergey L

提交表单后如何重定向到指定页面?

警告:无法修改标题信息-标题已由发送(输出开始于wordpress\\wp-admin\\menu-header.php:94) 在里面wordpress\\wp-content\\plugins\\test\\test.php 在线16

<?php
/*
Plugin Name: TEST
Plugin URI: http://localhost/
Description: TEST
Version: 0.0.1
Author: TEST
Author URI: http://localhost/
*/
add_action(\'admin_menu\', \'test\');
function test() { 
    add_menu_page(\'test\', \'test\', 0, \'test/test.php\', \'page\');
} 
function page() {
    if(isset($_POST[\'submit\'])) {
        header(\'Location: /index.php\');
        exit;
    }
    echo \'<form action="" method="post"><input type="submit" value="Submit form" name="submit" /></form>\';
    var_dump($_POST);
}

1 个回复
最合适的回答,由SO网友:Milo 整理而成

您正在尝试在上发送重定向标头admin_menu 操作,该操作在部分页面发送到浏览器后激发。您必须在输出开始之前挂接一个较早的操作,如init.

add_action( \'init\', \'wpa_test\' );
function wpa_test() {
    if(isset($_POST[\'submit\'])) {
        wp_redirect( home_url() );
        exit;
    }
}

结束

相关推荐

PHP如果已显示POST,则

我用jquery旋转木马创建了一个新页面,它在各种不同的新闻主题之间旋转。你可以看到here:然而,旋转木马下面是一个附加标题的静态列表。我需要做的是找到php代码,如果某个故事出现在旋转木马中,则将其从下面的帖子中排除。这是为了避免重复。我不能简单地增加偏移量。偏移量当前设置为“4”。旋转木马在任何给定时间都包含12个独特的帖子。我不能增加补偿,因为如果我从一个类别中连续获得五到六个职位,那么通过增加补偿,他们将从下面的部分中丢失。我希望这是有意义的。我甚至不确定我的目标是否可以实现(!)。这一切都需要