Использование коротких кодов для анализа запроса POST (содержащего данные из интерфейсной формы)
Я хотел бы разрешить своим подписчикам публиковать объявления, которые являются ничем иным, как пользовательским типом публикации с несколькими метами по цене и т.д. (Существующие плагины объявлений, которые я пробовал, слишком сложны для моих нужд.) Я хотел бы знать, имеет ли смысл следующее.
Я определяю шорткод [форма объявлений], отображающий форму, и создаю страницу (т. Е. публикацию "страница" в разделе администратора), вызывающую ее.
Содержание форма отправляется на другую страницу, которая вызывает шорткод [классифицированный по дескриптору], который проверяет, вошел ли пользователь в систему, анализирует данные $_POST и вставляет пользовательскую запись (со статусом "ожидание", пока администратор не подтвердит ее).
Вам это кажется разумным? Или вы бы порекомендовали более "стандартный" способ сделать это?
Большое спасибо!
1 answers
Всегда отправляйте материалы на страницу, на которой отображается форма. В обратном вызове с коротким кодом вы можете отобразить правильные сообщения об ошибке или успешном выполнении.
Пример:
add_shortcode( 'classifiedsform', 'classifiedsform_callback' );
function classifiedsform_callback()
{
if ( 'POST' !== $_SERVER['REQUEST_METHOD']
or ! isset ( $_POST['classifieds'] )
)
{
return classifieds_input_form();
}
// process input show errors or success message
}
function classifieds_input_form()
{
// return a string with the form HTML
}
Убедитесь, что вы не используете зарезервированную переменную , иначе WordPress автоматически удалит содержимое.