为除某人以外的未登录用户隐藏所有产品的价格

在用户未登录之前,我已经隐藏了所有产品的价格。现在我想始终显示我产品中某个人的价格。


谁能帮我处理代码?


这是我在 function.php 中使用的 php 代码:


    /**Hide price*/

add_filter('woocommerce_get_price_html','members_only_price_pages');

add_filter('woocommerce_cart_totals_order_total_html','members_only_price_pages');

add_filter('woocommerce_cart_item_subtotal','members_only_price_pages');

add_filter('woocommerce_cart_item_price','members_only_price_pages');

add_filter('wc_price','members_only_price_pages');

function members_only_price_pages($price){  

    if( is_user_logged_in() ){          

        return $price;      } 

            else {          

                return '<a href="https://www.dentaltechnologiesitalia.it/register/" class="bottone-c">LOGIN PER VEDERE IL PREZZO</a>';      }  }


湖上湖
浏览 105回答 1
1回答

芜湖不芜

is_product_category()检查当前页面是否为产品类别。您在这里需要的是检查产品是否属于具有该has_term()功能的特定类别。如果用户未登录且产品属于类别 private_cat(例如),则价格将被替换:&nbsp; &nbsp;/**Hide price*/add_filter('woocommerce_get_price_html','members_only_price_pages');add_filter('woocommerce_cart_totals_order_total_html','members_only_price_pages');add_filter('woocommerce_cart_item_subtotal','members_only_price_pages');add_filter('woocommerce_cart_item_price','members_only_price_pages');add_filter('wc_price','members_only_price_pages');function members_only_price_pages($price){&nbsp;&nbsp;&nbsp; &nbsp; if( ! is_user_logged_in() && has_term( 'private_cat', 'product_cat' ) ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return '<a href="https://example.com/register/" class="bottone-c">LOGIN PER VEDERE IL PREZZO</a>';&nbsp; &nbsp; &nbsp; }&nbsp;&nbsp; &nbsp; &nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return $price;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP