woocommerce - 如果用户角色未登录,则隐藏特定类别的价格
问题描述
我需要隐藏某个类别的产品价格,但在用户登录后显示。以下代码隐藏了未登录用户的价格。如何仅将其应用于特定产品类别?
add_action( 'init', 'hide_price_add_cart_not_logged_in' );
function 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', 'print_login_to_see', 31 );
add_action( 'woocommerce_after_shop_loop_item', 'print_login_to_see', 11 );
}
}
function print_login_to_see() {
echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Login to see prices', 'theme_name') . '</a>';
}
解决方案
推荐阅读
- javascript - Firebase 数据库查询 equalTo
- reactjs - 如何为 React App 应用 antd 深色主题?
- android - Flutter - 拉动以刷新网页视图?
- r - 将矩阵与R中的向量等同是什么意思
- java - 如何管理数组中的概率?
- java - 如何在我的 React JHipster 应用程序中添加 fontawesome 图标?
- mysql - 您能否解释使用 Composite MySQL INDEX 进行多个 INNER JOIN 的方面?
- php - 包括'count.html.php'
- angular - 有没有办法访问 templateRef 中的内容
- wordpress - 如何使用 WPBakery 的 vc_map() 动态显示其他参数