Как после отправки формы перенаправить пользователя на текущую страницу без зацикливания?
пробую исправить так но все равно на главной оказываюсь
подскажите пожалуйста ,у меня есть форма в личном кабинете,но с нее бросает на главную
global $user_ID, $user_LK;
if($user_ID == $user_LK): ?>
<form method="POST" action="/" class="premium-form">
<input type="hidden" name="premium-form_nonce" value="<?php echo wp_create_nonce("premium-form_nonce")?>">
<input type="submit" value="Премеум" title="premium" style="background-color:#b93228;color:#fff;width: 90%;">
</form>
<?php endif; ?>
вот ее обработчик в function.php
if (isset( $_POST['premium-form_nonce'])) {
$user_ID = get_current_user_id();
if( wp_verify_nonce( $_POST['premium-form_nonce'], 'premium-form_nonce' ) && rcl_get_user_rating($user_ID) > 100) {
$args = array(
'rating_value' => -10,
'object_author' => $user_ID
);
update_user_meta( $user_ID, 'premeum', 1);
update_user_meta( $user_ID, 'premeum-time',current_time('timestamp', 1));
// тут редирект на текущюю
global $wp;
wp_redirect(home_url(add_query_arg(array($_GET), $wp->request)));
}
}
Ответы (1 шт):
Автор решения: Valerii Vasiliev
→ Ссылка
Изменить адрес в форме
изменить
<form method="POST" action="/" class="premium-form">
на
<form method="POST" action="" class="premium-form">
Также обработчик должен быть в хуке 'init'
add_action('init', 'processForm');
function processForm() {
if (isset( $_POST['premium-form_nonce'])) {
$user_ID = get_current_user_id();
if( wp_verify_nonce( $_POST['premium-form_nonce'], 'premium-form_nonce' ) && rcl_get_user_rating($user_ID) > 100) {
$args = array(
'rating_value' => -10,
'object_author' => $user_ID
);
update_user_meta( $user_ID, 'premeum', 1);
update_user_meta( $user_ID, 'premeum-time',current_time('timestamp', 1));
// тут редирект на текущюю
global $wp;
wp_redirect(home_url(add_query_arg(array($_GET), $wp->request)));
}
}
}