2016-11-28 20 views
4

カテゴリに基づいてWooCommerceで商品を翻訳しようとしています。商品が特定のカテゴリの商品である場合、WooCommerce関数を実行します。

WooCommerceがロードされると、私はアクションフックを実行します。私の関数translate_productsで

add_action('woocommerce_init', 'translate_products');

を私はループの現在のIDに基づいた製品を変換することができますので、私はWP_Queryを実行します。それは、カテゴリー 'en'を持つ商品だけでなく、すべての商品を翻訳します。私は 'en'カテゴリーに割り当てられた製品のIDだけを取得できません。

誰かが私を助けることができれば、それ以上のことはありません。前もって感謝します!

私はWordpressや特にWooCommerceのコーディングではかなり新しくなっています。だから、もし私がばかげた過ちをしているなら、私は失礼します。 ;)ここで

は私のコードです:

function translate_products() { 
    $args = array('post_type' => 'product', 'posts_per_page' => -1, 'product_cat' => 'en'); 

    $loop = new WP_Query($args); 

    while ($loop->have_posts()) : $loop->the_post(); 

     global $product;  
     $current_id = get_the_id(); 
     pll_set_post_language($current_id,'en'); 

    endwhile; 

    wp_reset_query(); 
} 

答えて

1

使用WooCommerce製品をフェッチのための独自の機能は、ワードプレスのプログラミングの良いアイデアではありません。

WooCommerceの公式ドキュメントをお読みください。リンクを開いて「製品カテゴリ」を見つけます。

https://docs.woocommerce.com/document/woocommerce-shortcodes/

あなたがその製品のカテゴリ名を使用したい場合は、私がこのような製品の配列をfatchことを言っている、あなたは、その用語のIDを検索し、IDを使用してショート

+0

で使用する必要がありますか? '$ products => [product_categories number =" 12 "parent =" 0 "ids =" $ my_id "] ありがとう –

+0

カンマ区切りでIDを書くことができます [product_categories ids =" 12,15,16 "] –

+0

[product_categories]はwordpressでショートコードと呼ばれています。 =>あなただけの書き込みをバックエンドで使用することができます "[product_categories]" =>あなたはのテキストエディタのヘルプで使用することができます "do_Shortcode()" https://codex.wordpress.org/it:Riferimento_funzioni/ do_shortcode –

関連する問題