@anriko

Почему обработчик формы отрабатывает на каждое обновление страницы в function.php?

// закрепить пост
 if (isset($_POST['sticy_post'])) {
   if( wp_verify_nonce( $_POST['sticy_post'], 'sticy_post' ) ) { 
   	$user_ID = get_current_user_id();
   $count = get_user_meta( $user_ID, 'limit_post_sticy', true )[0];
   update_user_meta($user_ID, 'limit_post_sticy', $count + 1);
//update_post_meta( $_POST['postid'], '_extra_featured_post', '0', true ); 
    }
   
}

<form method="POST" action="" class="sticy_post-form" style="display: inline-block;float: right;">
                            <input type="hidden" name="sticy_post" value="b1a2bc6f85"> 
                            <input type="hidden" name="postid" value="1538">
                            <input type="submit" value="закрепить" title="Delete">
                            </form>
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kandrash
Кратко о себе
Вордпрессом не пользуюсь, но похоже на классическое поведение любых браузеров. Вы отправляете POST запрос. Чего вы ожидаете от обновления страницы? Очевидно браузер снова шлёт POST. Чтобы избежать такого поведения можете, например, послать в ответ редирект. Типа header('Location: www.example.com');. Это чистый PHP, возможно Wordpress имеет встроенные методы для такого поведения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы