Вам понадобится какая-то условная логика, чтобы определить, вошел ли пользователь в систему. Вы можете использовать хуки WooCommerce, чтобы скрыть кнопку добавления в корзину.Этот код должен достичь этого.Вам нужно будет добавить его к теме вашей дочерней темы functions.php
.
add_action( 'init', 'hide_add_to_cart_not_logged_in' );
function hide_add_to_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 );
add_action( 'woocommerce_after_shop_loop_item', 'print_login_to_see', 11 );
add_action( 'woocommerce_single_product_summary', 'print_login_to_see', 31 );
}
}
function print_login_to_see() {
echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Login to add to cart', 'theme_name') . '</a>';
}