Avisos
Vaciar todo

[Resuelto] plugin para registros autorizados  

 
Rebecca
 Rebecca
Reputable Member

Buenos días,

Estamos editando la web en wordpress, y necesitamos un plugin para los registros. 

Para poder ver los precios, el cliente se tiene que registrar, pero antes nosotros tenemos que autorizar a esa persona si puede registrarse para ver dichos precios.

 

actualmente en Joomla, estamos utilizando el Comunity builder. Hemos mirado algún plugin pero  son de pago, sabéis de alguno que sea gratuito? 

Muchas gracias,

 

Feliz día. 

Contenido solo visible a usuarios registrados

Respondido : 27/04/2021 9:51 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Rebeca.

Por lo que veo lo que quieres es que lso usuarios cuando se registren no tengan acceso hasta que no los valides y no puedan ver lso precios.

 

Lo primero vamos a crear un nuevo rol que sea pendiente y a los usuarios que se registren se le asigne ese nuevo rol:

.- Edita el archivo functions.php y añade lo siguiente:

///////////////////////////////
// 1. Añadimos nuevo Rol

add_role( 'pending', __( 'Pendiente' ), array(
'read' => true,
));

///////////////////////////////
// 2. Asignamos el nuevo rol

add_filter( 'woocommerce_new_customer_data', 'we_assign_custom_role' );

function we_assign_custom_role( $args ) {
$args['role'] = 'pending';
return $args;
}

 

Ya tenemos creado ese nuevo rol ahora nos toca eliminar los precios y el botón de añadir al carrito:

Debajo del código anterior añade lo siguiente:

// 3. Le eliminamos los precios y añadir al carrito a los que no tienen acceso
add_action('after_setup_theme','user_activate_filter') ;
function user_activate_filter(){
add_filter('woocommerce_get_price_html', 'user_show_price_logged');
}
function user_show_price_logged($price){

if(current_user_can('customer') or current_user_can('editor') or current_user_can('shop_manager') or current_user_can('administrator') ){
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 '';
}
}

 

Una vez tengas comprobado que el usuario es un profesional solo tienes que cambiar el rol de usuario a " Customer "

 

Recuerda realizar una copia del archivo functions.php antes de añadir el código.

 

Un saludo

 

Respondido : 27/04/2021 12:30 pm

Cursos Gratuitos WordPress

Rebecca
 Rebecca
Reputable Member

@pepesoler

Buenas tardes Pepe,

Lo de añadir los códigos, lo entiendo, pero cuando dices de cambiar el rol a customer... este paso me he perdido.

Tendría que añadir algún plugin para registros? o ya existe alguno ya instalado ?

 

gracias.

Respondido : 27/04/2021 1:51 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Rebecca,

En este caso no hace falta ningún plugin de registro, con los codirigid una ves los añadas y compruebes el usuarios solo debes modificarlo y cambiar si rol como customer para que pueda acceder y ver los precios

Un Saludo

Respondido : 27/04/2021 1:59 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Rebeca.

no, no tienes que instalar nada.

Cuando un usuario se registre pro defecto se le asignara el rol Pendiente, uan vez que revises toda su documentación y compruebes que el usuario es un profesional solo tienes que editar ese usuario y cambiar el rol a " Customer "

.- Accedes a usuarios y editas el usuario al que quieres modificar el rol.

.- Despliegas la opción de perfil y modificas el rol de ese usuario:

Captura de pantalla 2021 04 27 a las 15.05.28

 

Por defecto siempre se registran con el perfil " Pendiente " y en ese perfil no se muestra el botón de añadir al corro ni los precios con lo cual el usuario podrá acceder pero no podrá ver lso precios ni podrá comprar hasta que no se cambie el perfil del usuario a " customer " o " Cliente " que es el perfil por defecto del comprador.

 

Para el registro se utiliza la pagina de registro del propio WooCommerce.

 

Un saludo

 

 

  

Respondido : 27/04/2021 2:28 pm
Rebecca
 Rebecca
Reputable Member

Hola Pepe,

Hemos añadido los códigos, pero aun seguimos viendo los precios aunque no estemos registrados... puede ser que se nos pase algo a nosotros?? lo hemos probado en modo incognito... pero nada 🙁

 

Respondido : 27/04/2021 3:19 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Rebecca,

En este caso probemos lo siguiente, elimina el código que añadiste anteriormente y añade el siguiente

add_action( 'init', 'bbloomer_hide_price_add_cart_not_logged_in' );

function bbloomer_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', 'bbloomer_print_login_to_see', 31 );
add_action( 'woocommerce_after_shop_loop_item', 'bbloomer_print_login_to_see', 11 );
}
}

function bbloomer_print_login_to_see() {
echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Inicie sesión', 'theme_name') . '</a>';
}

Este código lo que hará es ocultar los precios a los usuarios no se encuentren logueados en el sitio web

Screenshot

Luego de ello añade el siguiente plugin -> https://wordpress.org/plugins/new-user-approve/ solo debes instalarlo y activarlo con el podrás aprobar cuales usuarios puedes tener una cuenta, una ves lo activas y un usuario se registra veras el listado de usuarios a aprobar en el apartado Usuarios -> Aprobar nuevos usuarios

Screenshot

De esta forma hasta que el usuario no sea aprobado no podrá iniciar sesión y ver los precios

Screenshot

Comprueba si con ello logras añadir lo que deseas

Un Saludo

Respondido : 27/04/2021 4:04 pm
Rebecca
 Rebecca
Reputable Member

@karen

Buenos días,

Hemos borrado el código anterior y añadido el que nos diste pero siguen apareciendo los precios, lo hemos probado en incognito y en diferentes ordenadores, por si las cookies nos detectaba pero también aparecen los precios...

el pluguin si funciona 🙂

Gracias.

Respondido : 28/04/2021 8:29 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Rebeca.

Ok, empecemos desde cero, si quieres deja el plugin de registro.

.- Instala el siguiente plugin:

-> https://es.wordpress.org/plugins/user-role-editor/

.- Accede a Usuarios -> User Role Editor

.- Selecciona " Añadir Perfil "

screenshot mary52.webempresa.eu 2021.04.28 10 52 49 (1)

.- Crea un perfil que sea Profesional ( Puedes poner el nombre que quieras ) y que sea una copia del perfil Suscriptor 

screenshot mary52.webempresa.eu 2021.04.28 10 57 48

Una vez tengas el perfil creado si quieres puedes eliminar ese plugin.

.- Instala el siguiente plugin:

-> https://es.wordpress.org/plugins/price-by-user-role-for-woocommerce/

Una vez instalado.

.- Accede a WooCommerce -> Ajustes -> Precios De Productos Por Perfiles De Usuario

.- Selecciona " por producto y añades el nuevo rol que creaste:

screenshot mary52.webempresa.eu 2021.04.28 11 23 57

.- Edita uno de los productos:

Veras que tienes un bloque " precios del producto por perfiles:

screenshot mary52.webempresa.eu 2021.04.28 11 21 16

Añade el precio en ese bloque y lo eliminas de los datos del producto.

 

Prueba lo que te indico y nos comentas los resultados.

 

Un saludo

 

Respondido : 28/04/2021 10:30 am
Rebecca
 Rebecca
Reputable Member

@pepesoler

Buenas Pepe,

 

He probado de instalar los plugins tal y como me dijiste, pero no me aparecen las secciones como en tus capturas, te adjunto pantallas para que lo visualices mejor.

no me aparece la pestaña de añadir perfil (plugin user role edition)

y en el plugin de Produts Price by User roles... el apartado de precios del productos por perfiles no está....

los codigos css que me dijiste anteriormente los he eliminado (supongo que con estos plugins no son necesarios no?)

gracias.

Plugin Products Price by user Roles for woocommerce
Plugin USER ROLE EDITION 1
Plugin USER ROLE EDITION 2

 

Respondido : 28/04/2021 11:45 am

Rebecca
 Rebecca
Reputable Member

@pepesoler

Buenas Pepe,

Finalmente me lo miré detenidamente, y hemos conseguido que no se vean los precios de los productos hasta que el cliente no lo aprobamos antes

 

es decir que funciona!!

 

Muchas gracias y perdona por el lio...jeje

Respondido : 28/04/2021 12:07 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Rebeca.

jejejej que bueno..... me alegra muchísimo Amiga !!!!!!!!!

 

Una cosita..... Nos dejas una reseña para el foro ? 😉 

TrustPilot:   https://es.trustpilot.com/evaluate/webempresa.com

Nos ayudaría a que otr@s usuarios se decidan por nosotr@s si saben lo que nos decís.

Gracias de parte de todo el equipo.  🤗

 

Respondido : 28/04/2021 1:02 pm

Cursos Gratuitos WordPress

Rebecca
 Rebecca
Reputable Member

@pepesoler

claro, ya está hecho...:-)

Respondido : 28/04/2021 2:46 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Rebecca,

Muchas gracias, siempre encantados en poder ayudarte 🤗 

Escríbenos si tienes cualquier otra consulta

Un Saludo 😊 

Respondido : 28/04/2021 2:56 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación