Использование коротких кодов для анализа запроса POST (содержащего данные из интерфейсной формы)


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

  • Я определяю шорткод [форма объявлений], отображающий форму, и создаю страницу (т. Е. публикацию "страница" в разделе администратора), вызывающую ее.

  • Содержание форма отправляется на другую страницу, которая вызывает шорткод [классифицированный по дескриптору], который проверяет, вошел ли пользователь в систему, анализирует данные $_POST и вставляет пользовательскую запись (со статусом "ожидание", пока администратор не подтвердит ее).

Вам это кажется разумным? Или вы бы порекомендовали более "стандартный" способ сделать это?

Большое спасибо!

Author: Nown, 2013-03-14

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 автоматически удалит содержимое.

 5
Author: fuxia, 2017-04-13 12:37:43