您可以使用以下格式的操作woocommerce_YOUR_PRODUCT_TYPE_add_to_cart
达到目标。下面是一个例子。
以下代码用于输入functions.php
, 如果您正在编写插件。请记住更改回拨例如,您有一种称为Special
, 您想为其添加“添加到购物车”模板。
添加操作筛选器woocommerce_special_add_to_cart
添加动作功能woocommerce_special_add_to_cart
// it is better to follow the naming conventions in Woocommerce for the ease of understanding
add_action( \'woocommerce_special_add_to_cart\', \'woocommerce_special_add_to_cart\', 30 );
function q363582_special_add_to_cart() {
/**
* Output the special product add to cart area.
*/
function woocommerce_special_add_to_cart() {
wc_get_template( \'your-own-path/special.php\' ); // if you have arguments, you could use, read the the manual links of this function for reference
}
}
对于路径,由于Woocommerce允许在主题中定制模板,因此您的路径可能类似于
your-theme/single-product/add-to-cart/special.php
如果使用wc\\u get\\u template()函数。
这个woocommerce_special_add_to_cart
操作将由另一个操作调用woocommerce_template_single_add_to_cart
它将读取产品类型并创建相应的操作。
// usage
wc_get_template( $template_name, $args = array(), $template_path = \'\', $default_path = \'\' )
根据此功能,您也可以使用自己的
$template_path
, 所以我认为这应该能满足你的需要。
有关详细信息,您可以阅读文档:wc_get_template()
用于wc_get_template()
, 您可以参考源代码以获取默认产品类型的示例,如分组、变体等:wc-template-functions.php