如果是变异产品,如何在woocommerce中定位某个产品



我想弄清楚如何在woocommerce中针对特定的可变产品来显示此消息下面的"按钮。当前代码显示所有可变产品类型。

add_action( 'woocommerce_after_add_to_cart_button', 'custom_product_message' , 10, 0 );
function custom_product_message() {
global $product;
if( ! $product->is_type( 'variable' )) return; // Only for variable products
echo '<div class="woo_variable_custom_message">Hello</div>';
}

这是我正在处理的代码片段

add_action( 'woocommerce_after_add_to_cart_button', 'custom_product_message' , 10, 0 );
function custom_product_message() {
global $product;
if( ! $product->is_type( 'variable' )) return; // Only for variable products
echo '<div class="woo_variable_custom_message">Hello</div>';
}

全局动态解决方案是在产品中创建自定义字段,您可以自定义文本字段。

您可以通过自定义代码创建自定义字段,也可以使用ACF插件在产品中创建自定义字段。

创建自定义字段的自定义代码:https://www.cloudways.com/blog/add-custom-product-fields-woocommerce/

ACF插件:https://wordpress.org/plugins/advanced-custom-fields/

然后使用下面的动作钩子,你可以使进程动态从admin本身使用一次代码。

add_action( 'woocommerce_after_add_to_cart_button', 'custom_product_message', 20 );

function custom_product_message() {
global $product;
$getcustomText = get_post_meta(post_id, 'meta_key', true);
if ( !empty ($getcustomText)) {
echo '<div class="woo_variable_custom_message">Hello</div>';
}
}

快速注:我知道过程有点大,但它不会给你带来麻烦,也不会让你一次又一次地在主题函数文件

中添加变量product id或其他参数

感谢

发现这种方法可以针对可变或简单的产品类型。

add_action( 'woocommerce_after_add_to_cart_button', 'custom_product_message', 20 );

function custom_product_message() {
if ( is_single( '8941' )) {
echo '<div class="woo_variable_custom_message">Hello</div>';
}
} 

最新更新