web-dev-qa-db-ja.com

フロントエンドからの投稿の作成と編集

素晴らしい ACFプラグイン を使ってとても素敵なカスタム投稿タイプを作成しましたが、今度はユーザーがフロントエンドから投稿を送信する方法が必要です。重力フォームやフロントエンドエディタのようなプラグインはいいですが、これにはあまりうまくいきません。

同じバックエンド編集フォームをフロントエンドページに表示する方法はありますか?あるいは、フロントエンドのように見えるようにバックエンドサイトの一部を偽装しますか。

任意の助けは大いに安くなるでしょう

2
Steven Baltay

それがうまくいくかどうかわからないがScribuのフロントエンドエディタをチェックアウトしたか?

http://scribu.net/wordpress/front-end-editor

またはこのスレッドをチェックする

http://wordpress.org/support/topic/front-end-custom-form-to-post?replies=5#post-1584286

3
Jens Wedin

ユーザー機能のセキュリティチェックと管理者参照チェックのため、あなたが求めていることは不可能です。フロントエンドにフォームを作成してwp_insert_post()を使用するのが最善です。

if(isset($_POST['foo_bar'])):

    //Verify nonce and referrer

    //Validate data

    $args = array(
        'post_status' => 'draft',
        'post_content' => esc_html($content),
        'post_title' => esc_attr($title)
    );

    $foo = wp_insert_post($args);

    //If the post was inserted, wp_insert_post() will return the post ID of the new post
    if($foo)
       echo "bar";

endif;

//Create your form with a hidden nonce field here.
  1. あなたが入力を受け入れるときはいつでもあなたは絶対にナンスを使う必要があります。
  2. 入力データを検証した後に保護するには、組み込みのWordpressエスケープ関数を使用します。 http://markjaquith.wordpress.com/2009/06/12/escaping-api-updates-for-wordpress-2-8/ /

私は静的テンプレートとAJAXバージョンを使ってこのようなフォームをいくつか構築しました。難しいことではありません。データの整合性を検証し、悪意のあるユーザーから入力フォームを隠すように細心の注意を払ってください。

3
Brian Fegter

これはACFで可能になりました。ドキュメントを見て、新しい投稿の作成と既存の投稿の編集の両方のためのフロントエンドフォームの作成方法を確認してください。 http://www.advancedcustomfields.com/resources/tutorials/creating-a-front-end-form/ /

0
Eckstein