web-dev-qa-db-ja.com

ショートコードを使用して解析する POST リクエスト(フロントエンドフォームからのデータを含む)

私の購読者に、価格などのメタをいくつか加えたカスタム投稿タイプに他ならない分類を投稿できるようにしたい(私が試した既存の分類プラグインは私のニーズにとっては複雑すぎる。)次のことが理にかなっているかどうかを知る。

  • フォームを表示する[Classs-form]ショートコードを定義し、それを呼び出すページ(つまり、adminセクションの "page"ポスト)を作成します。

  • フォームの内容は[handle-分類された]ショートコードを呼び出す別のページにPOSTされます。これはユーザーがログインしているかどうかをチェックし、$ _POSTデータを解析し、カスタム投稿を挿入します。管理者がそれを検証するまで)。

これはあなたにとって合理的なことですか?それとも、これを行うためのより「標準的な」方法をお勧めしますか?

どうもありがとう!

2
Nown

常にフォームが表示されているページに送信を送信してください。ショートコードコールバックでは、適切なエラーメッセージまたは成功メッセージを表示できます。

サンプル:

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
fuxia