我正在尝试在我的商店页面上为我的产品添加一个额外的按钮,但仅限于特定类别。我已经走到了这一步,但我似乎无法正确地说出来。
if (!function_exists('add_accessory_button')){
function add_accessory_button() {
global $product;
$product_cat = $product->product_cat;
if( has_term( 'dealqualify',$product_cat ) && in_the_loop() ) {
$link = get_post_meta( $product->ID, ‘acc_link’, true );
echo do_shortcode('<br>[button link="' . esc_attr($link) . '"]View Accessory[/button]');
} }
add_action('woocommerce_after_shop_loop_item','add_accessory_button');
}
任何帮助确定我的错误都将不胜感激。
答案 0 :(得分:0)
您的代码中存在很多错误
您需要以这种方式设置 has_term()
以使其正常工作:
has_term( 'dealqualify', 'product_cat', $product->get_id() )
同样对于产品ID,请按以下方式执行: $product->get_id()
...我也尝试纠正其他错误...
所以你的代码应该是这样的:
if ( ! function_exists('add_accessory_button')){
function add_accessory_button() {
global $product;
if( has_term( 'dealqualify', 'product_cat', $product->get_id() ) && in_the_loop() ) {
$link = get_post_meta( $product->get_id(), 'acc_link', true );
echo '<br>' . do_shortcode("[button link='$link']View Accessory[/button]");
}
add_action('woocommerce_after_shop_loop_item','add_accessory_button');
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
现在应该可以了......