Intereting Posts
Отображение сообщений из пользовательских типов сообщений URL профиля автора wp_insert_post – изображение из библиотеки Проверка возврата с помощью WP Error Как найти идентификатор сайта на одном сайте, а затем добавить новое сообщение с расширением «multipart / form-data» enctype? текст редактора wordpress qtranslate не работает Пользовательский заказ WP_Query и разбивка на страницы Различная ширина столбца в 2 строках с бутстрапом и пользовательскими типами сообщений – нужны разные классы Исключить текущую запись из массива сообщений? Получает ли WP все post_meta на странице POST? Фильтр user_has_cap позволяет редактировать, но не позволяет сохранять Как отобразить автора над контентом-single.php Страница WordPress с текстом без текста Настроить поток активности – Buddypress Редактирование моей темы, чтобы попытаться разместить заголовок по умолчанию в верхней части страницы, нарушает остальную часть содержимого страницы

Помощь с формами и комментариями

Я пытаюсь создать nonce для использования с формой (public-face).

Ниже мой код:

function my_form() { if (isset($_POST['submit'])) { $name = $_POST['name']; $description = $_POST['description']; $output_form = false; if (wp_verify_nonce($_POST['added'], 'add-item') ) { //validate echo 'form submitted with nonce correctly'; } } else { $output_form = true; } if ($output_form) { ?> <form method="post" action=""> <?php wp_nonce_field('add-item','added'); ?> <label>Title:</label><br/> <input type="text" name="name" value="<?php echo $name; ?>"/><br/> <label>Description:</label><br /> <textarea name="description" rows="3" cols="10"><?php echo $description; ?></textarea><br/> <input type="submit" name="submit" value="submit"> </form> <?php } } add_shortcode('PODS FORM', my_form); 

Я вижу свою форму на своей странице, но когда я отправляю (и правильно заполняю ее) вместо того, чтобы видеть мое «правильное» сообщение, я вижу только пустую страницу.

Solutions Collecting From Web of "Помощь с формами и комментариями"

Вам нужно передать значение поля nonce в качестве первого аргумента в wp_verify_nonce . Итак, вам нужно изменить часть проверки nonce в вашем коде.

Кроме того, вы использовали имена полей форм, которые конфликтуют с внутренними часами запроса WordPress, вы должны прикрепить их к чему-то уникальному, чтобы они не конфликтуют с wordpress. См. Следующий пример:

 function my_form() { if (isset($_POST['pf_submit'])) { $name = $_POST['pf_name']; $description = $_POST['pf_description']; $output_form = false; if (isset( $_POST['pf_added'] ) && wp_verify_nonce($_POST['pf_added'], 'add-item') ) { //validate echo 'form submitted with nonce correctly'; } } else { $output_form = true; $name = ""; $description = ""; } if ($output_form) { ?> <form method="post" action=""> <?php wp_nonce_field('add-item','pf_added'); ?> <label>Title:</label><br/> <input type="text" name="pf_name" value="<?php echo $name; ?>"/><br/> <label>Description:</label><br /> <textarea name="pf_description" rows="3" cols="10"><?php echo $description; ?></textarea><br/> <input type="submit" name="pf_submit" value="submit"> </form> <?php } } add_shortcode('PODS FORM', my_form);