2017-12-12 17 views
0

Backstory:Realteoプラグイン(Findeoテーマに組み込まれている)を使用してプロパティの提出を行った後、自動的に製品を生成しています。それは基本的な形で動作していますが、私が問題を抱えているのは、この新しく生成された製品に製品ベンダーを自動的に割り当てることです。WooCommerce製品ベンダー - 製品にベンダーをプログラムで割り当てる

私はProduct Vendorsコード(WooCommerce.comの公式のコード)を見ると、プラグインはベンダーIDを製品メタデータとして格納していると信じています。そのキーは_wcpv_vendorです。しかし、これは真実ではないようです。私が手動で製品を編集して予約を割り当てたとしても、その製品のポストメタを見るときにそのキーは見つからない。

_wcpv_vendorが空白で、ベンダーが割り当てられていない場合、そのエントリを手動で編集しても製品にベンダーが割り当てられません。

それが添付ファイルにベンダーIDを付与する方法のコードからの例:

public function process_attachment($post_id) { 
    if (WC_Product_Vendors_Utils::auth_vendor_user()) { 
     update_post_meta($post_id, '_wcpv_vendor', WC_Product_Vendors_Utils::get_logged_in_vendor()); 
    } 

    return true; 
} 

私は、これは間違っている、私が知っている(製品に同様に機能することをここに仮定を作ってるんだということを知っています)、私はProduct Vendorsプラグインコードを検索しようとしましたが、ベンダーが製品に追加されたときにプラグインがそのベンダーIDを製品に割り当てる場所を見つけることができません。

その他の簡単な質問:このシナリオでWC_Product_Vendors_Utils::get_logged_in_vendor()を使用して、サイトのフロントエンドにログインしているユーザーのベンダーIDを自動的に引き出すことはできますか?私はそれを試してきましたが、返された結果は空白です。

誰でも助けてもらえますか?

答えて

0

ベンダーが実際にタクソノミーであるため、ベンダーは実際に直接ポストメタを更新しません。代わりに、投稿が保存されると、wp_set_object_termsを使用してベンダーIDが自動的に保存されます

関連する問題