Avisos
Vaciar todo

No dejar comprar usuarios rol visitante

20 Respuestas
4 Usuarios
0 Reactions
47 Visitas
ALBERTO
Respuestas: 1197
Noble Member
Topic starter
 

De repente se muestra el botón comprar a los visitantes, usuarios no registrados...tenía colocado un código para que ese botón no se mostrara...es decir quitar la posibilidad de compra a visitantes....

 

Screenshot 2022 06 09 at 14.38.12

 

 

Contenido solo visible a usuarios registrados


 
Respondido : 09/06/2022 12:39 pm
ALBERTO
Respuestas: 1197
Noble Member
Topic starter
 

Mientras se soluciona el código...no puedo mantener en mantenimiento por más tiempo la web....y si la abro no puedo permitir que visitantes vean precios y puedan comprar...por lo que tener que instalar un plugin para que sólo sea accesible logueándose....para hacer esto ¿que plugin instaló?


 
Respondido : 10/06/2022 7:13 am
ALBERTO
Respuestas: 1197
Noble Member
Topic starter
 

He pensado en poner como página de inicio la página de mi cuenta... así el usuario tendrá que registrarse para acceder....


 
Respondido : 10/06/2022 7:14 am
ALBERTO
Respuestas: 1197
Noble Member
Topic starter
 

Este es el hook que siguiendo un tutoría debería quitar el botín de añadir a carrito en la página de producto....pero no me funciona...

'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

 
Respondido : 10/06/2022 9:12 am
ALBERTO
Respuestas: 1197
Noble Member
Topic starter
 

También he probado este código de Ayuda Wordpress y oculta el precio pero no el carrito de compra:

/** Oculta precio y añadir al carrito a usuarios no conectados **/
 
add_action('init', 'ayudawp_hide_price_add_cart_not_logged_in');
 
function ayudawp_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', 'ayudawp_print_login_to_see', 31 );
 add_action( 'woocommerce_after_shop_loop_item', 'ayudawp_print_login_to_see', 11 );
}
}
 
function ayudawp_print_login_to_see() {
echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Accede para ver los precios', 'theme_name') . '</a>';
}

 
Respondido : 10/06/2022 9:45 am
Pepe
 Pepe
Respuestas: 41268
Illustrious Member Admin
 

Hola Alberto.

Prueba con la siguiente función:

add_filter( 'woocommerce_get_price_html', 'bbloomer_hide_price_addcart_not_logged_in', 9999, 2 );

function bbloomer_hide_price_addcart_not_logged_in( $price, $product ) {
if ( ! is_user_logged_in() ) {
$price = '<div><a href="' . get_permalink( wc_get_page_id( 'myaccount' ) ) . '">' . __( 'Login to see prices', 'bbloomer' ) . '</a></div>';
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 );
}
return $price;
}

 

Un saludo


 
Respondido : 10/06/2022 10:04 am
Página 2 / 2