Расположение заголовка не работает в моем плагине WordPress.
Я пишу плагин для Wordpress. С помощью этого плагина я обновляю некоторые данные. Запрос и обновление работает нормально, но мой заголовок("location: url");
не работает Если я добавлю эхо, оно не выдаст ошибку, которую заголовки уже отправили. Похоже, что ничего не делает с этими линиями. Мой код...
<?php require_once('../../../wp-config.php');
$baanstatus_table=$wpdb->prefix . 'baanstatus';
$id = $_GET['id'];
$bijgewerkt =$_GET['bijgewerkt'];
$baanstatus= $_GET['baanstatus'];
$handicarts = $_GET['handicarts'];
$trolleys = $_GET['trolleys'];
$winterontheffing = $_GET['winterontheffing'];
$zomergreens = $_GET['zomergreens'];
$qualifying = $_GET['qualifying'];
$onderhoud_greens = $_GET['onderhoud_greens'];
$onderhoud_anders = $_GET['onderhoud_anders'];
$opmerkingen = $_GET['opmerkingen'];
global $wpdb;
$data_array =array('id' => $id,
'bijgewerkt' => $bijgewerkt,
'baanstatus' => $baanstatus,
'handicarts' => $handicarts,
'trolleys' => $trolleys,
'winterontheffing' =>$winterontheffing,
'zomergreens' =>$zomergreens,
'qualifying' =>$qualifying,
'onderhoud_greens' =>$onderhoud_greens,
'onderhoud_anders' =>$onderhoud_anders,
'opmerkingen' =>$opmerkingen
);
$where =array('id' => $id);
$wpdb->update( $baanstatus_table, $data_array, $where );
header("location:http://almeerderhout.fcklap.com/wp-admin/options-general.php?page=my-unique-identifier");
exit();
?>
2 ответа
Возможно, вам следует попробовать javascript, а не местоположение PHP.
<?php
echo '<script>location.href="http://almeerderhout.fcklap.com/wp-admin/options-general.php?page=my-unique-identifier";</script>';
?>
Код ниже поможет вам
<?php
wp_redirect( $location, $status );
exit;
?>
Приведенная выше функция wordpress будет использоваться для перенаправления ссылки на функцию Codex Link.
Вы должны подключить свой плагин к правильному действию Wordpress, чтобы избежать "ошибки уже отправленных заголовков" при попытке перенаправления.
Я обнаружил, что хорошее место для перенаправления - это template_redirect
action, так что вы можете написать что-то вроде этого:
function do_something_then_redirect() {
// do something with $_GET or $_POST data
// then redirect to some url defined in the $redirect_url variable
wp_redirect($redirect_url);
die;
}
add_action('template_redirect', 'do_something_then_redirect');