Si tienes una tienda hecha con WooCommerce y creas contenido, es posible que en algún momento hayas sentido la necesidad de restringir contenido, para que solo las personas que hayan comprado un determinado producto tengan acceso a él.
Por ejemplo: Si vendes libros físicos, es posible que te interese dar acceso a contenido extra en tu tienda a las personas que compren el libro a través de tu tienda.
También es posible que quieras darle beneficios extra a determinadas personas por comprar un producto determinado y que solo las personas que hayan comprado ese producto tenga acceso a comprar cierto producto, tenga descuento al comprar otros.
Puedes conseguir todo esto con el plugin WooCommerce Memberships y te voy a explicar cómo usarlo en este tutorial.
¡Vamos allá!
Cómo traducir WooCommerce Memberships al español
Una de las primeras cosas de las que nos damos cuenta, cuando instalamos este plugin, es de que por defecto está en inglés.

Si te diriges a un público español, es posible que esto sea un problema.
Traducción aportada por la comunidad
Por suerte tenemos parte del trabajo hecho gracias a la comunidad de WordPress en: Translate WordPress.com.

Una vez accedemos, veremos debajo de «Legend» un enlace para exportar (Export) y dos desplegables. Tendremos que descargar tanto el .po como el .mo, que son los archivos de traducción que necesitaremos para añadir a nuestro WordPress.

Veremos que nos descarga los archivos con el nombre woocommerce-woocommerce-memberships-es. Para que funcionen correctamente, deberemos renombrarlos a woocommerce-memberships-es_ES.po y woocommerce-memberships-es_ES.mo respectivamente.

Ahora deberemos ir al administrador de archivos de nuestro alojamiento web o acceder por FTP según el caso, acceder a la raíz de la instalación y subir estos archivos a /wp-content/languages/plugins.
Y ya se aplicarán estas traducciones:

Como verás, hace un tiempo que no se actualizan y algunas cadenas de texto saldrán en inglés, aunque se entenderá un poco mejor todo.
Traducir WooCommerce Memberships con Loco translate
Para traducir más allá, podemos utilizar el plugin Loco Translate.

Veamos cómo funciona:
Al instalarlo y activarlo, veremos un nuevo menú en la administración de nuestra tienda llamado Loco Translate. Para traducir plugins, deberemos ir al apartado Plugins y elegir el que nos interese (en este caso WooCommerce Memberships).

Veremos que nos salen los diferentes idiomas que tenemos instalados. El que nos interesa es el Español que hay en la carpeta Sistema. Pasamos por encima y hacemos click en Editar.

Una vez dentro, veremos que nos indica que está traducido al 100%. Esto es porque hace falta sincronizarlo, haciendo click en el botón «Sincronizar».

Una vez hacemos click en «Sincronizar», nos aparecerán las traducciones actuales. Algunas ya están traducidas gracias a los archivos que hemos subido, pero el resto no.

También veremos que nos avisa de que algunas traducciones no son correctas. Esto es porque con el paso de las versiones, algunas variables han cambiado y deberemos corregirlo si queremos usar este método.
Nos las resaltará en amarillo y tendremos que mantener las variables, que aparecerán con algo similar a %s, %1$s, %2$s, que irá mezclado con el resto del texto. Si no mantenemos estas variables, es posible que no funcione correctamente el plugin, por lo que es importante corregirlo si vas a modificar las traducciones con Loco Translate.

En la imagen de arriba vemos que la traducción original es %s (inactive) y en español está traducido como (inactivo), cuando debería ser %s (inactivo), tendremos que añadir lo que falta (en algunos casos es posible que sobre y tengamos que quitar alguna variable) y cuando terminemos de corregirlas, darle a Guardar.
Podemos comprobar si queda alguna traducción con errores pendiente de corregir si hacemos click en el botón «Comprobar».
Traducimos lo que nos interese y listo. Lo más importante es traducir la parte visible para el usuario, pero si estás creando una tienda para un cliente, es posible que te interese traducir también parte de la administración para que le sea más cómodo.
Creando planes de membresía con WooCommerce Memberships
Para restringir contenido con WooCommerce Memberships, tendremos que ir a la administración de nuestra tienda, acceder a WooCommerce -> Membresías y desde ahí a Planes de membresía, donde podremos crear nuestra primera membresía.
Podemos ponerle un nombre y elegir el slug (puedes dejarlo vacío y se rellena solo).

Elegir cómo daremos acceso a esta membresía: Manualmente, al registrarse el usuario o al comprar un producto concreto.

Y cuánto durará la membresía. Podemos elegir una duración concreta (por ejemplo 1 mes):

O elegir de qué fecha a qué fecha se le dará acceso al usuario a nuestra membresía:

Restringiendo contenido dentro de la membresía
El segundo apartado del menú lateral izquierdo nos permite restringir contenido desde la propia membresía si queremos (también lo podemos hacer editando el propio contenido o de forma parcial, como veremos más adelante).

Al darle a «Añadir nueva regla», nos aparecerá una línea en la que podremos configurar una nueva regla de restricción de contenido (puedes añadir más si quieres) y podemos seleccionar el tipo de contenido a restringir:

Si no le indicamos una publicación en concreto restringirá todas las publicaciones de ese tipo, pero podemos indicarle una o varias en concreto de ese tipo y también indicarle si será accesible al obtener la membresía o si el usuario tendrá que esperar un determinado tiempo desde su obtención para tener acceso a este contenido.

Restringiendo productos con WooCommerce Memberships
La tercera pestaña del menú izquierdo nos permite restringir el acceso a productos o categorías de producto:

También podemos indicarle cuáles nos interesa restringir y si los miembros de nuestra membresía podrán ver o comprar (en este caso el resto podrán verlo pero no comprarlo) el producto o los productos de la categoría que hayamos indicado.
Descuentos en productos para miembros de una membresía
Como cuarto elemento de la barra lateral izquierda tenemos «Descuentos de compra», que nos permite otorgar un descuento de una cantidad en concreto de dinero o en porcentaje a los productos o categorías que indiquemos. Podemos marcar la casilla de «Activo» o desmarcarla según nos interese que ese descuento se aplique o no.

Contenido del área de miembros
En el apartado «Área de miembros» podemos quitar o añadir diferentes secciones que aparecerán dentro del apartado de membresía de la página de Mi cuenta de WooCommerce.

En Content se verá el contenido que hayamos añadido en el apartado de Restringir contenido:

En Productos se verán los productos a los que hayamos aplicado restricción en nuestra membresía:

En «Descuentos» podremos ver los productos a los que se le aplica descuento por pertenecer a la membresía:

En «Notes» veremos las notas que se hayan añadido para esa membresía y en «Manage» el usuario podrá ver los detalles de su membresía y cancelarla.

Emails personalizados en función de la membresía
Por último tenemos el apartado «Email Content», en el que podremos añadir textos concretos para los emails que se pueden configurar para WooCommerce Memberships. Por defecto están desactivados.

Para activarlos, deberíamos ir a WooCommerce -> Ajustes -> Correos electrónicos.

En este caso serían: La membresía termina pronto, membresía expirada, recordatorio de renovación de membresía y activación de un retraso en la membresía.

Haciendo click en el botón «Gestionar» de uno de ellos, podemos activarlo y configurar ciertos aspectos de los mismos.
Por ejemplo, en el caso del email de membresía que expira pronto, podemos indicar con cuánta antelación se enviará, el asunto, el encabezado del correo, contenido adicional que queramos añadir y el formato que tendrá.

Una vez hayamos activado alguno, nos aparecerá en el apartado de «Email Content» cuando editemos alguna membresía y podremos añadir un mensaje concreto para cada una si queremos (o dejar el que venga por defecto, si queremos que todos sean iguales).

Añadiendo campos de perfil con WooCommerce Memberships
Si te interesa, puedes añadir campos de perfil para que los cubra el usuario o para poder cubrirlos tú mismo y usarlos para almacenar información extra que puedas necesitar.
Se hace desde la pestaña «Profile Fields»:

Haciendo click en el botón «Add profile field»:

En «Field type» podemos elegir el tipo de campo que queremos añadir, en «Membership plans» le podemos indicar en qué membresías aparecerá y en «Editable by» podemos indicarle si ese campo solo lo puede editar el administrador o si lo puede cubrir el usuario.
Estos campos aparecerán en el apartado Mi cuenta -> Mi membresía -> My profile en el caso de que permitas que el usuario lo modifique.

Podemos usar los campos que creemos para filtrar después usuarios en el apartado «Miembros» que veremos a continuación.
Ver usuarios de las membresías y su estado
Para ver qué personas han adquirido una membresía en algún momento, deberemos ir a WooCommerce -> Membresías -> Miembros.
Aquí veremos un listado de estas personas e información adicional, como por ejemplo su email, el plan que han adquirido, el estado en el que se encuentra su membresía, desde cuándo es usuario, cuándo vence la membresía (o cuándo se renueva automáticamente, según el caso) y cuándo ha tenido actividad por última vez.

Si quieres que se muestre alguno de los campos de perfil que has creado anteriormente, puedes activarlo en la parte superior derecha desplegando el apartado «Opciones de pantalla», marcando la casilla que corresponda y haciendo click en «Aplicar».

Y ya nos saldrá como una de las columnas de información.

Desde este apartado, podemos editar, pausar, cancelar o eliminar la membresía de un usuario.
Si quieres, puedes filtrar qué usuarios aparecerán, de forma condicional, en función del contenido de los campos de perfil que hayas creado:

Conceder acceso con caracter retroactivo
Es posible que te interese conceder acceso a una membresía en concreto a usuarios que ya hayan comprado anteriormente el producto que usarás para dar acceso a la membresía.
En ese caso, al editar la membresía, en el cajetín de la parte derecha dispones de un botón llamado «Conceder acceso», que puedes usar con este fin.

Restringiendo contenido desde la propia publicación
En lugar de restringir contenido editando la membresía, es posible que te interese hacerlo directamente al crear una publicación.
Para hacerlo, tendrás que ir al cajetín con el título «Membresías», que encontrarás debajo del contenido de la publicación. Allí podrás seleccionar la membresía que tendrá acceso, cuándo y, si quieres, podrás crear también un mensaje personalizado en texto normal o con HTML.

Si alguien intenta acceder, no podrá hacerlo sin tener la membresía requerida y le saldrá el mensaje por defecto o el mensaje personalizado que hayas configurado.

Restringir contenido de forma parcial con WooCommerce Memberships
Si no quieres restringir una página entera, si no solo una parte, como por ejemplo un vídeo o una información concreta, puedes hacerlo usando el shortcode [wcm_restrict].
Puedes poner el contenido que quieras restringir entre las etiquetas [wcm_restrict] y [/wcm_restrict] para que solo lo vean usuarios de cualquier membresía, o bien usar parámetros como plans, delay o start_after_trial para modificar esta restricción.
![Esto lo verá todo el mundo. [wcm_restrict]Esto solo lo verán miembros de una membresía, independientemente de cual.[/wcm_restrict]Esto también lo verá todo el mundo. [wcm_restrict plans="oro, platinum"]Esto solo lo verán los miembros de las membresías oro y platinum.[/wcm_restrict]Y esto. [wcm_restrict delay="2 weeks"]Este contenido tardará 2 semanas en aparecer desde que el usuario compre la membresía.[/wcm_restrict]Y esto otro. [wcm_restrict start_after_trial="yes"]Si el usuario está en una prueba gratuita no verá este contenido.[/wcm_restrict]](https://www.destaca.es/wp-content/uploads/Captura-de-pantalla-2024-04-28-a-las-21.24.28-1.png)
Con plans=»membresia, otra-membresia» podemos indicar qué planes de membresía tendrán acceso a ese contenido.
Con delay=»X tiempo» podemos retrasar un tiempo determinado (por ejemplo 2 semanas: «2 weeks») el acceso a ese contenido desde el registro.
Y con start_after_trial=»yes» podemos indicar que ese contenido solo lo vean usuarios que ya no estén en período de prueba (en el caso de que hayas configurado alguno).
Este es el resultado de usar los shortcodes con los diferentes parámetros que hemos visto antes en el caso de una persona que no tenga ninguna membresía.

Y este en el caso de una persona con una membresía normal:

Exportar e importar membresías de WooCommerce Memberships
Si quieres, puedes exportar los miembros de una o más membresías de un sitio desde el apartado Import / Export -> Export to CSV y descargarlas en CSV.
Puedes elegir de qué membresías quieres exportar datos, filtrar por estado y elegir en qué intervalo de fechas de registro estarán comprendidos los miembros a exportar.

En Import from CSV puedes importar los miembros de un CSV que tengas de otro sitio o que hayas preparado manualmente.

¿En qué casos puede ser interesante?
Como hemos visto a lo largo de este tutorial, WooCommerce Memberships puede ser interesante tanto para restringir contenido de forma total o parcial, como para ofrecer descuentos solo a miembros de una membresía en concreto.
Se puede usar en conjunto con WooCommerce Subscriptions para vincular estas membresías con un producto de pago recurrente y dar acceso solo mientras el usuario siga pagando.
¿Te ha parecido interesante? Déjanos un comentario 😉
¿Necesitas mantenimiento para tu tienda online? Dale un ojo a nuestros planes de mantenimiento.