Woocommerce 有条件隐藏定价;需要使标记/自定义分类法可见 隐藏产品定价和添加到购物车按钮,除非登录 如果从某种标记、类别或其他分类法访问销售项目,那么销售项目将是可见的、登录的或不登录的,因此除非明确地指向销售项目,否则没有人会看到销售项目。 示例:所有产品价格都是隐藏的,除了标签为“华夫饼销售”的URL上。这是一个简单的例子,但我认为这解释了我对2的追求

Woocommerce 有条件隐藏定价;需要使标记/自定义分类法可见 隐藏产品定价和添加到购物车按钮,除非登录 如果从某种标记、类别或其他分类法访问销售项目,那么销售项目将是可见的、登录的或不登录的,因此除非明确地指向销售项目,否则没有人会看到销售项目。 示例:所有产品价格都是隐藏的,除了标签为“华夫饼销售”的URL上。这是一个简单的例子,但我认为这解释了我对2的追求,woocommerce,hook-woocommerce,Woocommerce,Hook Woocommerce,我已经完成了1。有一个插件,最近还有一段短代码;这非常有效: add_action( 'init', 'bbloomer_hide_price_add_cart_not_logged_in' ); function bbloomer_hide_price_add_cart_not_logged_in() { if ( ! is_user_logged_in() ) { remove_action( 'woocommerce_after_shop_loop_item', 'w

我已经完成了1。有一个插件,最近还有一段短代码;这非常有效:

add_action( 'init', 'bbloomer_hide_price_add_cart_not_logged_in' );

function bbloomer_hide_price_add_cart_not_logged_in() {   
if ( ! is_user_logged_in() ) {      
 remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
 remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
 remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
 remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );   
 add_action( 'woocommerce_single_product_summary', 'bbloomer_print_login_to_see', 31 );
 add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_print_login_to_see', 11 );
}
}

function bbloomer_print_login_to_see() {
echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Please login for pricing.', 'theme_name') . '</a>';
}
add_操作('init','bbloomer_hide_price_add_cart_not_logged_in');
函数bbloomer\u hide\u price\u add\u cart\u not\u logged\u in(){
如果(!是用户登录的()){
删除操作('woocommerce\u在商店\u循环\u项目之后,'woocommerce\u模板\u循环\u添加\u到购物车',10);
删除操作('woocommerce\u single\u product\u summary'、'woocommerce\u template\u single\u add\u to\u cart',30);
删除行动('woocommerce\u single\u product\u summary'、'woocommerce\u template\u single\u price',10);
删除操作('woocommerce'u在'u shop'u loop'u item'u title'之后,'woocommerce'u模板'u loop'u price',10);
添加操作('woocommerce\u single\u product\u summary'、'bbloomer\u print\u login\u to\u see',31);
添加操作('woocommerce'在'u shop'循环'u项目之后,'bbloomer'打印'u登录'u see',11);
}
}
功能bbloomer\u打印\u登录到\u请参阅(){
回声';
}
但这给我留下了两个条件,即有条件地使事物可见。如果这是含糊不清的,我很抱歉。我已经在网上搜寻答案,但我没有找到答案。我觉得我的词汇量在拖我后腿;我不知道我描述的钩子或短语的单词。我希望停止再发明轮子(我必须克隆产品/产品类别,使它们只在临时发布的销售页面上可见)

谁能给我指出正确的方向吗?以这种方式控制产品可见性是否可行?我将非常感谢任何更有经验的两分钱或解决这个问题。谢谢。

你可以试试这个(还没有测试过),写在rush上,但它应该可以帮助你实现你所需要的

您需要定义查询字符串,然后根据您基于该查询字符串所需的内容添加/删除操作

使用:

如果您需要检查查询字符串并登录,您可以执行以下操作

 if ( !get_query_var('my_query_string_name') && ( !user_not_logged_in()){
 // insert magic here
 }

代码从您的子主题(或插件)进入functions.php。

谢谢您,今天上午我将查看是否无法合并。
 if ( !get_query_var('my_query_string_name') && ( !user_not_logged_in()){
 // insert magic here
 }