php – 如果产品来自某个类别,则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();
}

最佳答案 使用自己的功能获取WooCommerce产品不是wordpress编程的好主意.

请阅读WooCommerce的官方文件.打开链接,找到“产品类别”.

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

如果您想使用该产品的类别名称,则必须找到其术语ID并使用id并在短代码中使用

点赞