2016-08-15 15 views
0

ユーザーがWishlistプラグイン(Woocommerce)にリストを追加するためのカスタムプラグインがあります。WooCommerce:カスタムプラグインでウィッシュリストにいくつかのリストを追加

私は、1から10までのリストの数を選択し、これらの新しいリストのタイトルと説明を入力できるカスタムステップバイステップフォームを用意しています。

私のフォームの最後のステップでAjaxリクエストがあります。

これらのリストをデータベースに追加するにはどうすればよいですか?

私はwp_insert_post($ my_post)で追加しようとしていますが、ポストメタテーブルの設定も追加する必要があります。

答えて

1

私は発見した:

WC_Wishlists_Wishlist::create_list($tittle)); 
1

フォーム結果をcustom post typeとして保存し、結果をcustom fieldsとすることができます。

投稿タイプをパブリックではなく、検索結果に含まれないように設定しないでください。

ロジックがウィッシュリストにない場合は、データを配列に設定して、serializedを1つのフィールドに保存します。

は、カスタムポストタイプの例に wp ajax adminまたは wp-rest api

保存フィールドを使用することができまたはエンド(サーバー)をバックアップするフロントエンド(ユーザーページ)からのデータを送信します。このウィッシュリストが準備できたプラグインからのものである場合、あなたはプラグインのコードで見ることができる程度saving custom fields in docs

フィールド名がサイトで異なっているので、あなたのフィールドに応じてキー

// Create post object 
$my_post = array(
    'post_title' => wp_strip_all_tags($_POST['post_title']), 
    'post_content' => $_POST['post_content'], 
    'post_status' => 'publish', 
    'post_author' => 1, 
    'post_category' => array(8,39), 
    'post_type'  => 'event' 
); 

// Insert the post into the database 
$post_id = wp_insert_post($my_post); 
// Updating the meta data (custom fields values) 
if (isset($_POST['_wishlist_email'])) { 
    update_post_meta($post_id, '_wishlist_email', sanitize_text_field( $_POST['_wishlist_email'])); 
} 

詳細情報を設定することができプラグインが保存ウィッシュリストデータをどのように処理するかを参照してください。

+0

ええ、私はfuntctionを持って使用するためのAjax jQuery.post(ajaxurl、データ、関数(応答){...})。 then - > function set_post_information(){...}; wp_insert_post()を使用してカスタム投稿タイプの新しい投稿を追加できます。 しかし、また、私は 'wp_postmeta'テーブルにいくつかの設定を追加する必要があります。 http://dl2.joxi.net/drive/2016/08/16/0004/0023/299031/31/6392cfb044.jpg –

+0

私は$ post_idによってカスタム投稿の種類を挿入した後にフィールドを保存する方法の例を追加しました – BenB

+0

ありがとうございました! しかし、私にとって最も問題なのは、 '_wishlist_subscribers'、' _wishlist_items'、 '_wishlist_sharing_key'フィールドのデータを取得する方法です –

関連する問題