WooCommerce仅适用于特定类别的单一产品页面按钮
我添加了代码以在WooCommerce页面上显示"View Product Sample"按钮。该按钮功能正常;但是,我希望该按钮仅针对某一类别显示。我们的类别是"电子课程"
以下是我用于该按钮的代码:
add_action('woocommerce_after_add_to_cart_button','custom_button_by_categories');
function custom_button_by_categories() {
global $post;
$demoslug = $post->post_name;
$demourl = get_bloginfo('url').'/courses/'.$demoslug.'/';
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>';
}
感谢您能提供的任何帮助。
WordPress
您可以使用has_term()
推荐答案函数(您必须在其中定义您的产品类别)来完成此操作。
您可以这样使用优先级高于30的woocommerce_simple_add_to_cart
:
add_action( 'woocommerce_simple_add_to_cart', function(){
global $product, $post;
// Set HERE your product category (ID, name or slug)
if ( has_term( 'e-courses', 'product_cat', $post->ID ) ){
$demourl = get_bloginfo('url').'/courses/'.esc_attr($post->post_name).'/';
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>';
}
}, 31 );
或同时使用您的挂钩:
add_action('woocommerce_after_add_to_cart_button','custom_button_by_categories');
function custom_button_by_categories() {
// Set HERE your product category (ID, name or slug)
if ( has_term( 'e-courses', 'product_cat', $post->ID ) ){
global $post;
$demoslug = $post->post_name;
$demourl = get_bloginfo('url').'/courses/'.$demoslug.'/';
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" class="button sample">View Product Sample</a>';
}
}
代码位于活动子主题(或主题)的函数.php文件或任何插件文件中。
已测试并正常工作。
相关文章