woocommerce скрыть поля для не авторизованных пользователей - PullRequest
0 голосов
/ 05 ноября 2018

Я хочу создать функцию, при которой пользователи, не вошедшие в систему, не увидят цену продукта, добавят в корзину и текст описания. В данный момент я использую плагин скрыть цену до входа в систему, поэтому цена не будет отображаться. Я также использую этот код CSS:

body.logged-in form.cart, body.logged-in div.woocommerce-product-details__short-description, body.logged-in div.product_meta { display:none; }

Это был единственный код, который я смог найти в интернете, и для меня он работает наоборот. Если кто-то может помочь, это будет очень ценно.

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете использовать следующий фрагмент кода, чтобы скрыть цену, добавить в корзину и краткое описание ..

add_action( 'init', 'hide_price_add_cart_not_logged_in' );

function hide_price_add_cart_not_logged_in() { 
if ( !is_user_logged_in() ) {       
// Remove Add to cart from shop page
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
// Remove Price from shop page
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
// Remove Add to cart from single product page     
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
// Remove price from single product page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
//Remove short description (excerpt) from single product page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );  
}
}

И приведенный ниже фрагмент кода, если вы хотите удалить вкладку описания со страницы отдельного продукта для не авторизованных пользователей

add_filter( 'woocommerce_product_tabs', 'remove_product_description_tab', 98 );
function remove_product_description_tab( $tabs ) {
if ( !is_user_logged_in() ) {       
    unset( $tabs['description'] );
}
    return $tabs;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...