我正在尝试根据类别在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并在短代码中使用