这个问题在这里已有答案:
我一直在尝试在Wordpress中创建一个表单来将数据发布到数据库并检查数据是否匹配,如果是,那么它会进入下一个表单,但我似乎无法让它正常工作,正在测试表单放在themes文件夹中以允许更直接的测试,php看起来像这样:
<?php
if(isset($_POST['submit'])) {
global $wpdb;
$ordernumber = $_POST['ordernmbr'];
$orderfirstname = $_POST['firstname'];
$orderpostnumber = $_POST['postnmbr'];
// Sanitizing
$ordernumber = stripslashes_deep($ordernumber);
$orderfirstname = stripslashes_deep($orderfirstname);
$orderpostnumber = stripslashes_deep($orderpostnumber);
$sql = "SELECT * FROM wp_postmeta WHERE 'post_id' = %d";
$sql = $wpdb->prepare($sql, array($ordernumber));
$res = $wpdb->get_results($sql);
if ($res > 0) {
wp_redirect(admin_url('http://localhost/wordpress/index.php/shop/'));
die();
} else {
$error = "Not like this";
echo $error;
}
print_r($res);
}
?>
<?php
get_footer();
?>
}
问题是,当我尝试发布数据时,它给出了一个错误说法
警告:无法修改标头信息 - 已在/ Applications / XAMPP / xamppfiles / htdocs /中发送的标头(在/Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/class.wp-styles.php:225处开始输出)第1219行的wordpress / wp-includes / pluggable.php
我该如何继续修复此问题?
内容开始投放后,您无法重定向浏览器。
在主题开始加载之前需要包含这段代码,因此它需要在插件中。
设置插件时,请确保为其设置高优先级,并选择正确的过滤器/操作以使其早期加载(在呈现任何内容之前):WP Action Reference