[英]woocommerce show price to registered user only
我只想向注冊用戶顯示價格。 我寫了一個單獨的插件,因為我的代碼將在更新時刪除。
下面是代碼,它可以正常工作,但問題是它不顯示帶有超鏈接的文本。
我只看到“注冊用戶可以查看價格”。 帳戶頁面無href。
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price) {
if(is_user_logged_in()){
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
}
}
我不確定它是否會工作。 但是在查看您的代碼時,我注意到您沒有在“。”之間放置空格。 你回來的時候
嘗試這個
function members_only_price($price){
if(is_user_logged_in()) {
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="' . get_permalink(woocommerce_get_page_id('myaccount')) . '">Registered Users</a> are able to view pricing.';
}
}
注意:未經測試。
get_permalink()函數返回帖子的URI,但是您實際上需要通過在HTML內部打開php標簽來回顯該URI。
嘗試這個
return 'Only <a href="<?php echo get_permalink(woocommerce_get_page_id('myaccount')) ; ?>">Registered Users</a> are able to view pricing.';
我沒有在答案中測試代碼,但我想說您不應該使用woocommerce_get_page_id
因為它已被棄用 。
而是使用函數wc_get_page_id
對docs的引用 。
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price) {
if(is_user_logged_in()){
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="'.get_permalink( wc_get_page_id( 'myaccount' ) ). '">Registered Users</a> are able to view pricing.';
}
}
或者在woocommerce文檔中嘗試另一個示例 。
add_filter('woocommerce_get_price_html','members_only_price');
function members_only_price($price) {
if(is_user_logged_in()){
return $price;
}
else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Only <a href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ). '">Registered Users</a> are able to view pricing.';
}
}
請告訴您這是否對您有用,祝您好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.