Asignar un rol al registrarse en Woocommerce

Asignar un rol distinto al registrarse en Woocommerce

¿Qué es un Snippet y para que sirve?

Un Snippet es un fragmento de código que aporta ciertas funciones a tu web sin la necesidad de instalar un plugin para ello.

La forma mas sencilla de añadir ese fragmento de código en tu web (hay varias) es usando el mega conocido plugin Code Snippets.

¿Cómo se instala Code Snippets?

Desde el repositorio de WodrPress busca «Code Snippets», lo instalas y lo activas.

¿Cómo se añade un fragmento de código?

Busca en el menú de tu backoffice «Fragmentos de código» con el icono de unas tijeras, y clica en Añadir nuevo, pones un título y pegas el snippet que de dejo en este tutorial.

Lo que sucede habitualmente

Cuando un usuario se registra en tu tienda Woocommerce o hace una compra y se crea su perfil de cliente, WordPress le asigna un rol por defecto que es «Cliente» o «Customer» si tu instalación está en inglés.

Por lo general, no sería necesario modificar eso, pero es posible que tu tienda tenga venta a particulares y a profesionales, cada uno con sus precios basados en Roles.

Por ejemplo: los clientes que normalmente compran por primera vez podrían ser «Clientes particulares» y los que son B2B serían «Clientes profesionales».

Crear roles nuevos no tiene ningún secreto, hay docenas de plugins que nos permiten crear roles específicos fácilmente.

Asignar un rol distinto al registrarse en Woocommerce

En un caso como este, lo que sería perfecto es que Woocommerce permitiera en sus ajustes indicar que Rol queremos que tengan los clientes que se registran, pero eso no sucede.

Así que lo haremos nosotros con un pequeño fragmento de código.

Para este caso, le he indicado que el rol que han de tener los clientes que se registran es el de «subscriber» o suscriptor, aunque tu puedes escoger el rol que quieras siempre que tenga los permisos necesarios, o bien duplicar un rol existente con un plugin como User Role editor.

Asignar role de suscriptor al registrarse en Woocommerce

Aquí te dejo el fragmento de código para que lo pegues usando Code Snippets.

				
					add_filter('woocommerce_new_customer_data', 'wc_assign_custom_role', 10, 1);
 
function wc_assign_custom_role($args) {
  $args['role'] = 'subscriber';
  
  return $args;
}
				
			

Recuerda que para insertar el fragmento de código, te recomiendo usar Code Snippets.

Comparte en tus Redes Sociales

Facebook
Pinterest
Twitter
LinkedIn