• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Ocultar bloques a usuarios que no hayan comprado un producto de Easy Digital Downloads

Descubre en este tutorial cómo ocultar el contenido de cualquier bloque a usuarios que no hayan adquirido un producto de Easy Digital Downloads, mediante código.

Dependiendo de la web que tengas y tu estrategia, hay veces en las que te puede interesar mostrar contenido distinto dependiendo de si el usuario está logueado o no.

En el tutorial de hoy vas a ver cómo controlar que el contenido de un bloque solo se muestre a clientes que hayan comprado un determinado producto (o suscripción), combinando el filtro render_block el condicional edd_has_user_purchased.

Vamos a ver cómo:

Pasos para ocultar el contenido de un bloque a clientes que no hayan comprado un producto determinado

1. Elige el bloque que deseas ocultar

En primer lugar, elige el bloque cuyo contenido quieres que sea solo visible para los usuarios que se hayan identificado con su cuenta.

Si quieres que esto se aplique a más de un conjunto de bloques puedes elegir el bloque de grupo como contenedor.

2. Añade una clase CSS personalizada

Una vez que hayas creado el bloque, ve al apartado de «Avanzado» y añade ocultar-no-clientes en «Clase(s) CSS adicional(es)» del bloque.

añadir clases CSS editor bloques WordPress

3. Modifica el acceso al contenido del bloque

A continuación añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:

Para ver este código y los otros 2107 snippets de esta web,
identifícate o suscríbete aquí.

En este código utilizas el filtro render_block, que te permite acceder a los atributos de todos los bloques, junto con al condicional edd_has_user_purchased.

En el mismo le indicas que si el usuario no ha comprado un producto de Easy Digital Downloads (en este caso el que tiene el identificador 55) y el bloque tiene la clase CSS ocultar-no-clientes, no podrá ver el contenido del bloque. En cambio, si han comprado ese producto les mostrará el bloque completo, tal y como lo creaste.

Si quieres que esto se aplique a más de un producto puedes pasarle un array con los identificadores de todos los productos.

En el ejemplo ordenas que muestre un mensaje vacío para que el usuario sin identificar no vea nada, pero si prefieres mostrarle un texto indicando que, para ver el contenido, debe acceder a su cuenta en la web, puedes modificarlo por lo siguiente:

$message ='Para ver el contenido debes haber adquirido...';

Eso sí, ten en cuenta que al estar usando un filtro de PHP tienes la limitación de que el resultado solo lo verás en la parte frontal de la web, en el backend no se reflejarán los cambios.

Si quieres ponérselo aún más fácil a tu cliente puedes crear una variación de bloque para que pueda elegir directamente el bloque desde la interfaz de usuario. Puedes echar un ojo en a este tutorial en el que lo expliqué para Restrict Content Pro.

Conclusiones

Ahora ya sabes cómo conseguir que cualquier bloque solo sea visible para los usuarios que hayan comprado un producto de Easy Digital Downloads en tu web.

Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.

Todo ventajas de ser suscriptor. 😉

Tutoriales relacionados

  • https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/
  • https://codigogenesis.com/restringir-bloques-solo-suscriptores-activos-restrict-content-pro/

Easy Digital Downloads Editor de bloques PHP WordPress

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto
  • Feed

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2026 · Código Genesis

close-icon

¿Has olvidado tu contraseña?