Mit*_*ave 1 php wordpress product woocommerce woocommerce-subscriptions
对于 WooCommerce,我使用WooCommerce 订阅插件。我主要有变量订阅产品和一些简单的订阅产品。
我正在使用woocommerce_dropdown_variation_attribute_options_args
过滤器挂钩来更新变量订阅产品上的下拉属性值。
对于简单订阅产品,我想添加一些条件以允许或拒绝访问产品页面。
所以我的问题是:我可以使用哪个钩子来检查产品是否是简单订阅,以允许或拒绝访问该产品?
任何帮助/建议将不胜感激。
您可以检查WC_Product
对象上的产品类型以进行简单订阅,例如:
if( $product->get_type() === 'subscription' ) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
或者
if( $product->is_type('subscription') ) {
// Do something
}
Run Code Online (Sandbox Code Playgroud)
下面是一个示例用法,它将避免访问简单的订阅产品页面,将客户重定向到主商店页面并显示错误通知:
add_action('template_redirect', 'conditional_single_product_page_access');
function conditional_single_product_page_access(){
// Targeting single product pages
if ( is_product() ) {
$product = wc_get_product( get_the_ID() ); // Get the WC_Product Object
// Targeting simple subscription products
if( $product->get_type() === 'subscription' ) {
wc_add_notice( __("You are not allowed to access this product"), 'error' ); // Notice
wp_safe_redirect( get_permalink( wc_get_page_id( 'shop' ) ) ); // Redirection
exit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
笔记:
要定位变量订阅产品类型,请使用 slug variable-subscription
。
要以变体订阅为目标,产品类型段为:subscription_variation
。
归档时间: |
|
查看次数: |
2959 次 |
最近记录: |