2016-11-28 49 views
4

我想根據類別在WooCommerce中翻譯我的產品。WooCommerce執行功能,如果產品來自某個類別

當WooCommerce被加載時,我運行一個動作鉤:

add_action('woocommerce_init', 'translate_products');

在我的功能translate_products我運行一個WP_Query這樣我就可以翻譯基於迴路的電流ID的產品。它只翻譯所有產品,不僅僅是具有'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產品本身的功能是不是WordPress的編程的好主意。

請閱讀WooCommerce的官方文檔。打開鏈接並找到「產品類別」。

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

如果你想使用該產品的類別名稱,那麼你已經找到自己的單詞ID,並使用ID和簡碼

+0

你是說,我可以混帳一個產品陣列像這樣使用? '$ products => [product_categories number =「12」parent =「0」ids =「$ my_id」]' Thanks –

+0

您可以使用逗號分隔編寫ID號 [product_categories id =「12,15,16」] –

+0

[product_categories]在wordpress中稱爲shortcode。 =>您可以在後端使用只寫 「[product_categories]」 =>您可以用文本編輯器幫助 「do_Shortcode()」 https://codex.wordpress.org/it:Riferimento_funzioni/使用do_shortcode –

相關問題