2015-12-19 26 views
11

アップロードされた画像を含む、製品に関するその他のデータを収集する忍者フォームを備えたWordPressページを作成しました。フォームのページは、メインメニューから「入力」項目をクリックするとアクセスできます。そのため、ユーザーは製品データをアップロードするためにバックエンドにアクセスする必要はありません。忍者のフォームデータからページを作成する

このデータを「リスト」というカスタム投稿タイプに入れたいと考えています。最終的に何千ものこれらのデータセットが存在し、何千もの「リスト」ページが人々のサイトに来ると、メインメニューの「入力」をクリックして忍者フォームのページにアクセスして記入してください。

フォームが収集したデータからこれらのリスティングページを作成する方法を教えてもらえますか?

私は、フォームデータからページを作成するNinjaのフロントエンドポストオプションを実行しています。このプラグインには作成するポストタイプを選択できるポスト作成設定がいくつかありますが、これは機能しません。送信されたフォームデータがダッシュボードに表示されることを期待しています。リストはありますが、フォームを提出してもそこには何もありません。

これは誰でも利用できますか?

ありがとうございました。

答えて

0

Ninjaフォームフロントエンド投稿拡張機能は、実際にフロントエンドにフォーム送信データを表示するためのものではありません。

から:https://ninjaforms.com/extensions/front-end-posting/

「忍者は、フロントエンドの投稿の拡張子は、あなたが選択した任意の公開表示ページのWordPressの投稿エディタのパワーを与えてフォーム。」

Ninjaフォームの投稿データをフロントエンドに表示するには、functions.phpのコードでデータベースから取得するか、プラグインを作成する(推奨)必要があります。その後、それらを解析して操作して、Wordpressの投稿やページに書式設定された投稿データを簡単に挿入できるショートコードを作成することができます。

ここでは、同じことを求める機能要求へのリンクがあります。そのリクエストの作成者は、プラグインへのリンクを投稿しました(プラグインとしてダウンロードをクリックしてください)。これは、あなたが望むことができるか、これを実装する方法についてのさらなる洞察を提供します。

https://github.com/wpninjas/ninja-forms/issues/892

0

あなたがプラグインのために少しのお金を払ってもかまわない場合、私はこのような、より高度なもののためではなく、その後忍者フォームを重力フォームを使用することをお勧めします。

カスタム投稿タイプ「oproep」を手動で作成し、重力フォームプラグインを使用して、ユーザーがフォームを送信するときにoproepタイプのカスタム投稿を作成しました。

カスタムポストタイプのアーカイブページを使用しているため、www.mysite.com/oproepが自動的に作成されるため、既に「リスト」のリストがあります。シングルページwww.mysite.com/oproep/titleもデフォルトで作成されます。テーマに応じてこれらのテンプレートを上書きすることもできます。

あなたがしなければならないのは、あなたのfunctions.phpにいくつかのphp行を追加することです(または独自のプラグインを書きます)。残りはすべて自動的に動作します。

私は、ユーザーが自分の投稿を編集したり、ドロップダウンなどでカスタムタクソノミのタグを読むことができるようにするためのコードを書いていました。あなたは重力の形を使ってたくさんのオプションをたくさん持っています。

+0

これは具体的にNinjaプラットフォームを指す質問には実際には答えていません。それはコメントとしてもっと適しているかもしれません。 – ToothlessRebel

1

私はあなたの拡張機能なしのみ忍者フォームを使用し、「ninja_forms_after_submission」は火災に直接フック提出後、あなたが提出されたデータを使用してアクションを実行できるようにすることができると思います。

これはあなたの結果を達成するためのスターターコードベースですが、あなたのニーズと、フォームの構造上、カスタマイズする必要があります。

add_action('ninja_forms_after_submission', 'create_page_from_ninjaform'); 
function create_page_from_ninjaform($form_data){ 

    // your fields data 
    $form_fields = $form_data[ 'fields' ]; 

    // !!! this is an example, it depends form fields in your form 
    $title = $form_fields[ 1 ][ 'value' ]; 
    $content = $form_fields[ 2 ][ 'value' ]; 
    $sample_meta_field = $form_fields[ 3 ][ 'value' ]; 

    $new_post = array(
     'post_title' => $title, 
     'post_content' => $content, 
     'post_status' => 'publish', 
     'post_type' => 'listing', // be sure this is the post type name 
    ); 

    $new_post_id = wp_insert_post($new_post); 

    update_post_meta($new_post_id, 'your_meta_key', $sample_meta_field); 

} 

このコードはもちろん、テストされていないのfunctions.phpファイルに

をコピーする必要があります。

幸運;)

関連する問題