Как добавить поле "Вопрос без ответа" на страницу WordPress для активации сообщества?
Добрый день!
У меня возникла проблема с созданием поля "Вопрос без ответа" на странице WordPress, и я хотел бы попросить вашей помощи.
Моя цель состоит в том, чтобы создать поле, в котором пользователи смогут задавать вопросы и получать ответы от других участников сообщества.
Я понимаю, что для этого необходимо добавить соответствующий код на нужную страницу. Однако, у меня возникли затруднения в осуществлении этого.
Можете ли вы помочь мне с добавлением такого поля на страницу WordPress? Я уже пробовал различные коды, но ни один из них не дал ожидаемого результата.
Ниже я приведу пример кода, который я использовал, но который не работает:
<form action="" method="post">
<input type="text" name="question" id="question" placeholder="Введите ваш вопрос">
<input type="submit" value="Отправить">
</form>
Буду очень признателен, если вы сможете разобраться, в чем проблема и помочь мне реализовать данное поле на странице WordPress.
Заранее благодарю за вашу помощь!
Ответы:
<form action="" method="post">
<input type="hidden" name="action" value="submit_question">
<input type="text" name="question" id="question" placeholder="Введите ваш вопрос">
<input type="submit" value="Отправить">
</form>
В этом коде мы использовали функцию `esc_url` для безопасного вывода URL-адреса действия формы. Мы также добавили скрытое поле `action` для указания обработчика формы. В данном случае, мы будем использовать хук `admin_post_`, чтобы обработать форму.
Теперь вам нужно добавить обработчик формы в файл functions.php вашей темы или в плагин:
add_action( 'admin_post_submit_question', 'submit_question_callback' );
add_action( 'admin_post_nopriv_submit_question', 'submit_question_callback' );
function submit_question_callback() {
// Получаем данные из формы
$question = $_POST['question'];
// Делаем что-то с вопросом, например, сохраняем в базе данных
// Редиректим пользователя обратно на страницу
wp_redirect( $_SERVER['HTTP_REFERER'] );
exit;
}
В этом обработчике мы используем хук `admin_post_` для обработки отправки формы от авторизованных пользователей и хук `admin_post_nopriv_` для обработки отправки формы от неавторизованных пользователей. Функция `submit_question_callback` получает данные из формы, делает с ними что-то (например, сохраняет в базе данных) и редиректит пользователя обратно на страницу, с которой была отправлена форма.
Теперь, когда пользователь отправляет форму, вопрос будет передан обработчику и вы сможете выполнять нужные действия с этим вопросом (например, сохранять в базе данных или отправлять по электронной почте).
Надеюсь, это поможет вам реализовать поле "Вопрос без ответа" на странице WordPress. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!