PodcastsCoursesWordPress Semanal

WordPress Semanal

Gonzalo Navarro
WordPress Semanal
Latest episode

532 episodes

  • WordPress Semanal

    531 | Cómo crear tus propios temas de WordPress desde el editor

    2026-06-03 | 12 mins.
    Escúchalo en:

    En el episodio 531 de WordPress Semanal te presento el plugin Create Block Theme: la herramienta oficial de WordPress para crear temas de bloques desde el propio editor. Sin tocar archivos, sin editar theme.json a mano, sin código. Si eres diseñador o freelance que trabaja con WordPress, esto te interesa.




    Tabla de contenidos





    1. El problema que resuelve Create Block Theme2. Diseña en el editor y guarda en el tema3. Variaciones de estilo a medida4. Tema hijo sin tocar archivos5. Clona un tema para otro cliente6. Exportar y llevártelo a cualquier sitio7. Tipografías sin CSS8. Tema en blanco desde cero9. Para quién es y para quién no10. Curso de Create Block ThemePlugin de la semanaContenidos recomendados







    1. El problema que resuelve Create Block Theme

    Hasta ahora, para crear un tema de bloques personalizado tenías que editar archivos, entender la estructura de carpetas de un tema y modificar theme.json a mano. O dependías de un desarrollador que lo hiciera por ti.

    Create Block Theme te permite hacer todo eso desde el editor de WordPress. Diseñas visualmente y el plugin convierte tus cambios en archivos de tema reales. Lo que ves en el editor pasa a ser parte del tema.

    2. Diseña en el editor y guarda en el tema

    Cuando personalizas un tema de bloques desde el editor (colores, tipografías, espaciados, plantillas, cabeceras), esos cambios se guardan como preferencias del usuario. Si actualizas el tema, se pierden.

    Con Create Block Theme, le das a «Save Changes to Theme» y tus personalizaciones pasan a los archivos del tema. Se escriben en el theme.json, en las plantillas, en los assets.

    Eso cambia la forma de trabajar. Diseñas en el editor como siempre, pero cuando estás contento con el resultado, lo guardas como parte del tema. No como una personalización temporal.

    3. Variaciones de estilo a medida

    Un tema, varias caras. Creas una variación con paleta oscura, otra con paleta clara, otra para una campaña de temporada. El cliente las cambia desde el editor de estilos con un clic.

    El plugin te permite guardar tus cambios de colores y tipografías como una variación de estilo nueva. Le pones nombre y queda disponible en el panel de estilos del tema.

    Para freelances esto es oro: entregas un tema con tres o cuatro variaciones listas y el cliente tiene flexibilidad sin poder romper nada.

    4. Tema hijo sin tocar archivos

    Partes del tema activo, haces tus cambios en el editor y generas un tema hijo con un clic. El plugin crea la estructura de carpetas, el style.css con la referencia al tema padre y el theme.json con tus personalizaciones.

    Cuando el tema padre se actualiza, tus cambios no se pierden. Y no has tenido que crear ni una carpeta a mano.

    5. Clona un tema para otro cliente

    Terminas un proyecto. Has ajustado colores, tipografías, plantillas, cabeceras, footers. Todo queda como quieres.

    Con Create Block Theme clonas ese tema. El resultado es un tema nuevo, independiente, con todo lo que tenía el original más tus cambios. Le cambias el nombre, los colores, el logo, y tienes un tema nuevo para el siguiente cliente.

    Tu propio starter theme que evoluciona con cada proyecto. Sin empezar de cero cada vez.

    6. Exportar y llevártelo a cualquier sitio

    El plugin exporta el tema como un archivo ZIP. Lo instalas en otro WordPress y todo funciona: plantillas, estilos, fuentes, imágenes usadas en las plantillas.

    Si trabajas con Local WP (o cualquier entorno local), el flujo es: diseñas en local, exportas el tema como ZIP y lo subes a producción. Limpio y sin sorpresas.

    También funciona al revés: diseñas en producción, exportas y te llevas una copia del tema para seguir trabajando en local o para tener un backup del diseño.

    7. Tipografías sin CSS

    Añades Google Fonts o fuentes locales al tema desde el editor. El plugin las embebe en los archivos del tema: copia los archivos de fuente a la carpeta assets/fonts y añade las definiciones al theme.json.

    No necesitas escribir @font-face ni editar CSS. Seleccionas la fuente, eliges los pesos que necesitas y el plugin hace el resto. Las fuentes viajan con el tema cuando lo exportas.

    8. Tema en blanco desde cero

    Si no quieres partir de un tema existente, el plugin genera un tema vacío con la estructura correcta: carpetas, archivos básicos, theme.json limpio. Tu lienzo en blanco.

    Desde ahí construyes exactamente lo que necesitas. Sin contenido de demo que borrar, sin estilos heredados que sobreescribir.

    9. Para quién es y para quién no

    Es para ti si:

    Eres diseñador o freelance que trabaja con temas de bloques.

    Quieres crear tus propios temas sin depender de un desarrollador.

    Necesitas entregar temas personalizados a clientes.

    Quieres un starter theme propio que reutilizar entre proyectos.

    Trabajas en local y necesitas exportar/importar temas limpios.

    No es para ti si:

    Tu web ya está en producción y no estás desarrollando. Este plugin es una herramienta de desarrollo. Los cambios que haces son permanentes y afectan a los archivos del tema. No es para usar en una web con tráfico real sin saber lo que haces.

    Trabajas con Elementor, Divi u otro constructor visual. Create Block Theme es para temas de bloques nativos de WordPress. Son dos mundos diferentes.

    10. Curso de Create Block Theme

    He creado un curso donde te enseño paso a paso cómo usar este plugin para crear tu propio tema de bloques: desde la instalación hasta la exportación del tema final, pasando por variaciones de estilo, tipografías, plantillas y temas hijo. Todo práctico, en pantalla y sin rodeos.

    Mira el curso de Create Block Theme

    Plugin de la semana

    El plugin de la semana es Theme Check. Ejecuta las mismas comprobaciones que WordPress.org usa para revisar los temas del directorio. Seleccionas tu tema, le das a comprobar y te dice si cumple los estándares: funciones obligatorias, errores de seguridad, buenas prácticas. Ideal para verificar un tema antes de entregarlo a un cliente. Gratuito y mantenido por el equipo de revisión de temas de WordPress.

    Contenidos recomendados

    Vídeo de la Zona Código: Cómo verificar que un snippet de WordPress es seguro antes de usarlo

    Newsletter de WordPress Semanal

    La entrada 531 | Cómo crear tus propios temas de WordPress desde el editor es una artículo de Gonzalo Navarro.
  • WordPress Semanal

    530 | El briefing perfecto: qué preguntas hacerle a un cliente antes de crear su web

    2026-05-27 | 17 mins.
    Escúchalo en:

    En el episodio 530 de WordPress Semanal te cuento las preguntas que deberías hacer a tu cliente antes de empezar cualquier proyecto web. Sin un buen briefing, trabajas con suposiciones. Y las suposiciones cuestan dinero.




    Tabla de contenidos





    1. Tu cliente no te va a dar un briefing. Tienes que sacárselo tú2. Sobre el negocio3. Sobre el proyecto4. Sobre el contenido5. Sobre la funcionalidad6. Sobre el diseño7. Sobre los plazos y el presupuesto8. Sobre el mantenimiento9. Cómo recoger el briefing10. Las preguntas que casi nadie hacePlugin de la semanaContenidos recomendados







    1. Tu cliente no te va a dar un briefing. Tienes que sacárselo tú

    El cliente sabe lo que quiere pero no sabe explicártelo. Si esperas a que te mande un documento con todo claro, vas a esperar mucho.

    El briefing es tu responsabilidad. Tú preguntas, tú guías la conversación, tú extraes la información que necesitas para trabajar bien.

    2. Sobre el negocio

    Antes de hablar de la web, entiende el negocio.

    ¿A qué se dedica exactamente?

    ¿Quién es su cliente? ¿A quién quiere llegar?

    ¿Qué le diferencia de su competencia?

    ¿Cómo gana dinero? ¿Cuál es su servicio o producto principal?

    Sin esto, estás diseñando a ciegas. No puedes escribir un buen titular para la home si no sabes a quién le habla.

    3. Sobre el proyecto

    ¿Por qué quiere una web? ¿O por qué quiere una nueva?

    ¿Qué problema tiene ahora? ¿La web actual no convierte? ¿No la encuentra nadie? ¿Le da vergüenza compartirla?

    ¿Qué espera que cambie cuando la web esté lista?

    ¿Cuál es el objetivo principal? ¿Captar clientes? ¿Vender online? ¿Dar información?

    Si no hay un objetivo claro, no hay forma de saber si el proyecto ha funcionado. Y tampoco hay forma de priorizar decisiones durante el proceso.

    4. Sobre el contenido

    ¿Tiene textos preparados?

    ¿Tiene fotos propias o habrá que usar stock?

    ¿Tiene logo, colores, manual de marca?

    ¿Quién va a escribir los textos? ¿Él, tú o nadie?

    La mayoría de retrasos en proyectos web no son técnicos. Son porque el cliente no tenía el contenido preparado. Pregúntalo el primer día. Si no tiene nada, inclúyelo en el presupuesto o avísale de que el proyecto no arranca hasta que lo tenga.

    5. Sobre la funcionalidad

    ¿Necesita tienda online?

    ¿Reservas o citas?

    ¿Formularios específicos (presupuesto, cuestionario, solicitud)?

    ¿Zona privada para clientes o alumnos?

    ¿Integración con herramientas que ya usa (CRM, email marketing, calendario, facturación)?

    ¿Multiidioma?

    Aquí es donde aparecen los «ah, y también necesito que…» que disparan el presupuesto. Si no preguntas ahora, aparecen a mitad del proyecto. Cada funcionalidad que no está en el briefing pero aparece después es un cambio de alcance.

    6. Sobre el diseño

    ¿Tiene referencias de webs que le gustan? Que te pase 2 o 3 enlaces y te diga qué le gusta de cada una.

    ¿Tiene manual de marca? ¿Colores, tipografías, estilo definido?

    ¿Hay algo que no quiera de ninguna manera? A veces saber lo que no quiere es más útil que saber lo que quiere.

    Si el cliente dice «algo moderno y limpio», necesitas que te enseñe ejemplos. «Moderno» significa algo diferente para cada persona. Sin referencias visuales, diseñas a tu gusto y rezas para que le guste al suyo.

    7. Sobre los plazos y el presupuesto

    ¿Para cuándo necesita la web?

    ¿Hay una fecha límite real (un evento, un lanzamiento, una temporada)?

    ¿Cuánto puede invertir?

    Son las dos preguntas que más cuesta hacer y las que más problemas evitan. Si el cliente quiere una tienda con 500 productos para dentro de tres semanas con un presupuesto de 800€, mejor saberlo ahora que después de dos reuniones.

    El presupuesto no es solo para saber si te interesa el proyecto. Es para ajustar el alcance a lo que es viable. Un presupuesto bajo no significa que no haya proyecto; significa que el proyecto es otro.

    8. Sobre el mantenimiento

    ¿Quién va a gestionar la web después? ¿El cliente, alguien de su equipo, tú?

    ¿Sabe usar WordPress?

    ¿Necesita formación para poder actualizar contenidos?

    ¿Quiere un contrato de mantenimiento?

    Esto define cómo construyes la web. Si la va a gestionar alguien sin conocimientos técnicos, todo tiene que ser más robusto: menos código personalizado, más bloques reutilizables, instrucciones claras. Si vas a mantenerla tú, puedes permitirte soluciones más técnicas.

    9. Cómo recoger el briefing

    No le mandes un formulario de 40 preguntas. No lo va a rellenar. Y si lo rellena, las respuestas van a ser vagas.

    Tres formas que funcionan:

    Llamada o reunión de 30 minutos. Tú preguntas, tú apuntas. Después redactas un resumen y se lo envías para que confirme. Así te aseguras de que la información es buena.

    Intercambio de vídeos o audios. Si no podéis coincidir en horario, el cliente te graba un audio o un vídeo explicando lo que necesita y tú lo transcribes. Yo uso un programa de transcripción para convertir los audios del cliente en texto. Así no se pierde nada y puedo consultarlo después.

    Documento compartido. Tú escribes las preguntas, el cliente responde debajo de cada una. Funciona con clientes organizados. Con los demás, acaba abandonado.

    El formato da igual. Lo importante es que al final tengas un documento escrito que ambos habéis validado. Ese documento es tu referencia durante todo el proyecto. Cuando el cliente pida algo que no estaba en el briefing, lo señalas y negociáis desde ahí.

    10. Las preguntas que casi nadie hace

    ¿Has tenido una web antes? ¿Qué no te gustaba? Te dice qué errores no repetir.

    ¿Hay algo que no quieras de ninguna manera? Evita que diseñes algo que el cliente odia.

    ¿Quién toma las decisiones finales? Esta es clave. Evita el clásico «se lo tengo que consultar a mi socio» después de tres rondas de revisiones. Si hay más de una persona decidiendo, necesitas saberlo desde el principio.

    ¿Tienes acceso al hosting, al dominio y al email? Muchos clientes no saben dónde tienen contratado el dominio ni quién gestiona su hosting. Aclarar esto al principio evita bloqueos técnicos el día del lanzamiento.

    ¿Hay algo que ya hayas intentado y no haya funcionado? Si ya contrató a otro freelance antes y salió mal, quieres saber por qué.

    Plugin de la semana

    El plugin de la semana es Imsanity. Redimensiona automáticamente las imágenes que se suben a WordPress cuando superan un tamaño máximo que tú defines. El cliente sube una foto de 4000px y el plugin la escala al tamaño que hayas configurado. Sin que el cliente tenga que hacer nada. También permite redimensionar en lote las imágenes que ya están subidas. Gratuito y con más de 200.000 instalaciones activas. Hablé de él en el episodio 127 sobre optimización de imágenes.

    Contenidos recomendados

    Vídeo de la Zona Código: menús condicionales en Restrict Content Pro

    Cursos si quieres dedicarte a hacer webs para clientes

    Talleres de habilidades complementarias al desarrollo web

    Newsletter de WordPress Semanal

    La entrada 530 | El briefing perfecto: qué preguntas hacerle a un cliente antes de crear su web es una artículo de Gonzalo Navarro.
  • WordPress Semanal

    529 | Emails de Stripe: la configuración perfecta para tu negocio

    2026-05-20 | 16 mins.
    Escúchalo en:

    En el episodio 529 de WordPress Semanal repaso los emails que Stripe puede enviar a tus clientes automáticamente. Muchos no saben que existen, otros los tienen desactivados y algunos los tienen activados a la vez que los de su plugin de ventas. Lo vemos en profundidad.




    Tabla de contenidos





    Configuración de los emails que envía Stripe1. Recibo de pago2. Factura3. Pago fallido4. Tarjeta a punto de caducar5. Renovación próxima6. Fin del periodo de prueba7. Reembolso8. Autenticación 3D Secure9. Cancelación de suscripción

    Evitar duplicados con WordPressY tú, ¿qué recibes?Plugin de la semanaContenidos recomendados







    Configuración de los emails que envía Stripe

    Stripe puede enviar emails a tus clientes. Cuando pagan, cuando falla un cobro, cuando su tarjeta va a caducar, cuando se acerca una renovación. Todo se configura desde Configuración → Empresa → Correos electrónicos para clientes en tu panel de Stripe.

    Por defecto, la mayoría están desactivados. Si no has entrado ahí nunca, tus clientes no reciben nada de Stripe. Puede que WooCommerce o tu plugin de venta cubra ese hueco. O puede que nadie lo haga.

    Vamos a ver los tipos de correo uno a uno.

    1. Recibo de pago

    Stripe envía un recibo con el detalle del cobro, tu logo y tu información de contacto.

    Dónde se activa: Configuración → Empresa → Correos electrónicos para clientes → Pagos exitosos.

    Incluye importe, descripción, últimos 4 dígitos de la tarjeta y un enlace al recibo en el navegador. Para suscripciones, viene desglosado con líneas, descuentos e impuestos.

    Logo y colores se configuran en Configuración → Empresa → Imagen de marca. Información pública (teléfono, web, dirección) en Configuración → Empresa → Información pública. Sin branding, el email parece spam.

    2. Factura

    Para suscripciones, Stripe genera facturas en cada ciclo de cobro. Puede enviar la factura al cliente por email con PDF adjunto.

    Dónde se activa: Configuración → Empresa → Correos electrónicos para clientes → «Enviar recibos y notas de crédito a los clientes».

    Para pagos puntuales, la factura no se genera por defecto. Hay que habilitarla desde la API o desde Checkout.

    Si activas recibo y factura a la vez para suscripciones, Stripe los combina en un solo email con el PDF adjunto.

    3. Pago fallido

    Cuando un cobro recurrente falla, Stripe avisa al cliente con un enlace para actualizar su método de pago.

    Dónde se activa: Configuración → Facturación → Recuperación de ingresos → «Enviar emails cuando fallan los pagos con tarjeta».

    Si vendes suscripciones, este es el email más importante. Sin él, el pago falla, los reintentos se agotan y el cliente pierde el acceso sin enterarse. Lo cubrimos en el episodio 524.

    El enlace lleva a una página de Stripe o a una URL tuya (lo eliges en la configuración). Si usas la de Stripe, el branding tiene que estar configurado.

    4. Tarjeta a punto de caducar

    Un aviso un mes antes de que la tarjeta caduque, con enlace para actualizar los datos de pago.

    Dónde se activa: Configuración → Facturación → Suscripciones y correos electrónicos → «Enviar emails sobre tarjetas que expiran».

    Previene pagos fallidos antes de que ocurran. Stripe también actualiza tarjetas automáticamente cuando el banco emite una nueva, pero eso no cubre todos los casos (cambios de banco, tarjetas canceladas, prepago). El email complementa la actualización automática.

    5. Renovación próxima

    Avisa al cliente antes de cobrarle la renovación. Le dice cuándo y cuánto.

    Dónde se activa: Configuración → Facturación → Suscripciones y correos electrónicos → «Enviar emails de próximas renovaciones».

    Los días de antelación se configuran en Configuración → Facturación → Prevenir pagos fallidos → Próximos eventos de renovación.

    Para suscripciones anuales, este email puede evitarte disputas. El cliente que no quiere renovar tiene tiempo de cancelar. El que sí quiere, no se sorprende con el cargo.

    6. Fin del periodo de prueba

    Si ofreces trials, Stripe avisa 7 días antes de que termine. Si el trial dura menos de 7 días, avisa al inicio.

    Dónde se activa: Configuración → Facturación → Suscripciones y correos electrónicos → «Enviar un recordatorio 7 días antes de que termine el periodo de prueba».

    Incluye un enlace para añadir o actualizar el método de pago. Si el trial termina sin método de pago, la suscripción se pausa o cancela según tu configuración.

    En muchos mercados, avisar antes de cobrar tras un trial es obligatorio por normativa de protección al consumidor.

    7. Reembolso

    Confirma la devolución al cliente.

    Dónde se activa: Configuración → Empresa → Correos electrónicos para clientes → Reembolsos.

    Se envía al mismo email del cobro original. Si es un reembolso parcial, el recibo lo refleja.

    8. Autenticación 3D Secure

    Si un pago queda pendiente porque el cliente no completó la verificación 3D Secure, Stripe le envía un enlace para autenticarse.

    Dónde se activa: Configuración → Facturación → Suscripciones y correos electrónicos.

    Sin este email, el pago queda pendiente hasta que el cliente vuelva a tu web. Con él, lo resuelve desde el móvil en un minuto.

    9. Cancelación de suscripción

    Avisa al cliente de que su suscripción se ha cancelado, ya sea porque él la canceló o porque todos los reintentos de cobro fallaron.

    Evitar duplicados con WordPress

    WooCommerce, Tutor LMS, Restrict Content Pro, MemberPress y la mayoría de plugins de membresía envían sus propios emails. Si activas también los de Stripe, el cliente recibe dos por cada evento.

    Tres cosas a tener en cuenta:

    Decide quién envía cada email. Recibo → ¿Stripe o WooCommerce? Pago fallido → ¿Stripe o tu plugin? No los actives en los dos sitios.

    Stripe tiene mejor entregabilidad. Sus emails salen con SPF y DKIM configurados. Los de WordPress salen desde tu servidor y sin un plugin SMTP pueden acabar en spam.

    Tu plugin te da más control. Los emails de Stripe son genéricos (logo y colores, poco más). Los de tu plugin pueden incluir enlaces a tu web, instrucciones o upsells.

    Mi criterio: para lo transaccional (recibos, facturas, reembolsos), Stripe. Para lo que necesita contexto de tu negocio (bienvenida, acceso al curso, instrucciones), tu plugin.

    Y tú, ¿qué recibes?

    Todo lo anterior son emails para tu cliente. Pero ¿te enteras tú de lo que pasa con tus cobros?

    Stripe tiene notificaciones para el administrador en Configuración → Preferencias de comunicación. Puedes activar avisos de pagos exitosos (uno por pago o resumen diario), disputas, pagos sospechosos (Radar) y reembolsos.

    Pero hay un hueco: Stripe no avisa al administrador cuando un pago falla. Te avisa de disputas, de cobros exitosos, de riesgos… pero no de pagos fallidos. Tu cliente puede estar sin acceso porque su tarjeta fue rechazada y tú no te enteras hasta que te escribe. O hasta que no te escribe y se va.

    Para solucionarlo necesitas una automatización que escuche los eventos de Stripe (vía webhooks) y te avise cuando falle un cobro. Taller disponible a partir del 21 de mayo 2026.

    Plugin de la semana

    El plugin de la semana es AI Experiments. Es el plugin oficial de WordPress.org para probar funciones de inteligencia artificial dentro del editor: generar textos alternativos para imágenes, crear extractos y títulos automáticos, resumir contenido largo y revisar tus entradas con sugerencias de accesibilidad, legibilidad, gramática y SEO. Compatible con OpenAI, Google y Anthropic. Es experimental, pero da una idea de hacia dónde va WordPress con la IA.

    Contenidos recomendados

    Zona Código: Efecto paywall con texto difuminado en Restrict Content Pro

    Lo que tienes que configurar en Stripe antes de conectarlo con WordPress

    Recorrido práctico por el panel de Stripe

    Pagos fallidos en Stripe: por qué ocurren y cómo recuperarlos

    Curso de Stripe

    Newsletter de WordPress Semanal

    La entrada 529 | Emails de Stripe: la configuración perfecta para tu negocio es una artículo de Gonzalo Navarro.
  • WordPress Semanal

    528 | Menús condicionales, cantidad mínima por productos en Woo, LearnDash y más (Q&A)

    2026-05-13 | 17 mins.
    Escúchalo en:

    En el episodio 528 de WordPress Semanal respondo a cinco preguntas de oyentes sobre menús condicionales en WordPress, cantidades mínimas de compra por producto en WooCommerce, configuración de LearnDash, ocultar elementos del menú según usuario y cómo controlar la imagen que aparece al compartir tu web en redes sociales..




    Tabla de contenidos





    1) Mostrar un menú diferente según el nivel de membresía, de Miriam2) Establecer una cantidad mínima de compra solo para ciertos productos en WooCommerce, de Antonio3) Problemas con LearnDash: asignación de cursos, emails y Active Campaign, de Andrés4) Ocultar un botón del menú para usuarios logueados, de Beto5) La imagen equivocada al compartir un enlace en redes sociales, de Kiko







    1) Mostrar un menú diferente según el nivel de membresía, de Miriam

    Respondida en minuto: 4:40

    Tengo una web con membresías gestionadas con Restrict Content Pro y necesito que cada nivel de suscripción vea un menú diferente. Usaba If Menu con la versión Pro, pero ahora me da errores. ¿Conoces otro plugin?

    Respuesta resumida:

    If Menu lleva tiempo sin actualizarse y hay reportes de que ya no funciona bien con las últimas versiones de WordPress. Es normal que te dé problemas.

    Para menús condicionales tienes varias opciones, pero ninguna es perfecta para tu caso porque Restrict Content Pro no usa roles de WordPress estándar para distinguir niveles de membresía. Veamos las alternativas:

    Nav Menu Roles (70.000+ instalaciones, 218 reseñas, actualizado en 2026): el más fiable. Permite mostrar u ocultar elementos del menú por rol de WordPress (logueado, no logueado, administrador, suscriptor…). Para que funcione con niveles de membresía de RCP necesitarías que cada nivel asigne un rol diferente de WordPress, o usar el filtro nav_menu_roles_item_visibility que el plugin proporciona para añadir tu propia lógica.

    Conditional Menus (actualizado en 2026): funciona diferente. En lugar de controlar elementos sueltos, intercambia menús enteros según la condición: un menú para logueados, otro para no logueados, otro para una página concreta. Podrías crear un menú por nivel de membresía y asignar cada uno con lógica condicional. Es más simple pero menos granular.

    Por código: si necesitas control total por nivel de membresía de RCP, la solución más limpia es un snippet que use las funciones de RCP (rcp_get_customer() y el nivel activo) para decidir qué menú cargar. Es más trabajo pero no dependes de que un plugin sea compatible con otro.

    Mi recomendación: si puedes asignar un rol de WordPress diferente a cada nivel de membresía en RCP, Nav Menu Roles es la opción más sólida y mantenida. Si no puedes, la solución por código es la más fiable a largo plazo.

    2) Establecer una cantidad mínima de compra solo para ciertos productos en WooCommerce, de Antonio

    Respondida en minuto 7:55

    Necesito que dos productos concretos de mi tienda solo se puedan pedir con un mínimo de dos unidades, pero que el resto de la tienda funcione normal. ¿Se puede hacer con código o necesito un plugin?

    Respuesta resumida:

    Se puede hacer de las dos formas.

    Con plugin: MinMax Quantity for WooCommerce es el que mejor rendimiento ofrece. Te permite definir cantidades mínimas y máximas por producto, por categoría o a nivel global.

    Con código: también se puede con un snippet que valide la cantidad en el carrito y muestre un aviso si el producto no cumple el mínimo. Tenemos uno listo en la Zona Código (#471).

    3) Problemas con LearnDash: asignación de cursos, emails y Active Campaign, de Andrés

    Respondida en minuto 8:51

    He montado una academia con LearnDash para un cliente y tengo varios problemas: cuando el alumno paga no se le asigna el curso automáticamente, los emails de registro no se pueden personalizar, el email de cambio de contraseña sale en inglés y quiero conectar los emails de los alumnos con Active Campaign.

    Respuesta resumida:

    1) El curso no se asigna automáticamente tras el pago. Depende de cómo gestionas la venta. Si usas WooCommerce, el problema suele ser que el pedido se queda en «Procesando» en lugar de completarse. LearnDash asigna el curso cuando el pedido pasa a «Completado». La solución: forzar que los pedidos de productos virtuales se completen automáticamente. Tenemos un snippet para eso en la Zona Código (#299).

    2) Personalizar los emails de registro. Puedes usar un plugin como Better Notifications for WP o similar que permita personalizar las notificaciones por email de WordPress. También se puede por código con los filtros de WordPress.

    3) El email de cambio de contraseña sale en inglés. Esos emails los envía LearnDash, no WordPress. Asegúrate de tener la última versión instalada. Si sigue en inglés, puedes traducir los textos que falten con el plugin Loco Translate. Tenemos un vídeo en los cursos donde explico cómo usarlo.

    4) Conectar los emails de alumnos con Active Campaign. Puedes usar Zapier o cualquier herramienta de automatización que conecte LearnDash con Active Campaign. Cuando un alumno se matricula, Zapier puede añadirlo automáticamente a una lista o etiquetarlo en AC.

    4) Ocultar un botón del menú para usuarios logueados, de Beto

    Respondida en minuto 12:16

    Tengo un botón de «Suscribirme» en la cabecera de mi web (Astra + Astra Pro) y quiero que desaparezca cuando el usuario ya está registrado. Lo he intentado con is_user_logged_in() pero no me funciona.

    Respuesta resumida:

    La forma más sencilla es por CSS. WordPress añade automáticamente la clase logged-in al <body> cuando un usuario está conectado. Puedes usar esa clase para ocultar el botón:

    .logged-in .tu-clase-del-boton {
    display: none;
    }

    Solo tienes que inspeccionar el botón con el navegador, copiar su clase CSS y usarla en el snippet. Lo explico paso a paso en la Zona Código (#340).

    Si prefieres usar un plugin, Nav Menu Roles te permite ocultar elementos del menú para usuarios logueados. Pero tendrías que convertir el botón en un elemento de menú y darle estilos para que se vea como botón. La opción CSS es más rápida y limpia.

    5) La imagen equivocada al compartir un enlace en redes sociales, de Kiko

    Respondida en minuto 14:39

    Cuando comparto un enlace de mi web en redes sociales o en WhatsApp, la miniatura que aparece no es la correcta. ¿Cómo lo controlo?

    Respuesta resumida:

    La imagen que aparece al compartir un enlace viene de las etiquetas Open Graph (og:image) de tu web. Para controlarla:

    1) Asegúrate de que cada contenido tiene su imagen destacada. Es lo primero que WordPress y los plugins de SEO usan para generar la etiqueta og:image.

    2) Usa un plugin de SEO para especificar la imagen por red social. Con Yoast, SEOPress o cualquier otro plugin de SEO puedes elegir exactamente qué imagen aparece al compartir en Facebook, Twitter/X, etc. Lo explico en el curso de Yoast SEO, apartado de Social. Si usas otro plugin de SEO, la opción equivalente está en la sección de redes sociales de cada entrada o página.

    3) Si ya compartiste el enlace antes con otra imagen, la red social tiene cacheada la versión antigua. Tienes que «limpiar» esa caché:

    Facebook: Facebook Debugger

    Twitter/X: usa el validador de Cards de Twitter

    LinkedIn y otras: busca en Google «[nombre de la plataforma] + debugger»

    Introduces la URL, la plataforma limpia la caché y la próxima vez que alguien comparta ese enlace aparecerá la imagen correcta.

    Plugin de la semana

    El plugin de la semana es Desktop Mode. Transforma el panel de administración de WordPress en un escritorio tipo sistema operativo: las pantallas del admin se abren como ventanas que puedes arrastrar, redimensionar y minimizar, con un dock lateral y una barra de tareas. Se activa por usuario (nadie más ve cambios) y al desactivarlo todo vuelve a la normalidad.

    Contenidos recomendados

    Vídeo de la Zona Código: Cerrar sesiones de usuarios desde el admin de WordPress (individual y masivo)

    Ocultar elementos por CSS para usuarios logueados

    Completar pedidos de WooCommerce automáticamente

    Cantidad mínima de compra por producto en WooCommerce

    Curso de Tutor LMS Pro

    Newsletter de WordPress Semanal

    La entrada 528 | Menús condicionales, cantidad mínima por productos en Woo, LearnDash y más (Q&A) es una artículo de Gonzalo Navarro.
  • WordPress Semanal

    527 | ¿Plugin de cursos o de membresía? Cómo elegir sin arrepentirte

    2026-05-06 | 17 mins.
    Escúchalo en:

    En el episodio 527 de WordPress Semanal te ayudo a decidir si tu web de cursos necesita un plugin LMS o si con un plugin de restricción de contenido tienes suficiente. La respuesta no depende de la herramienta. Depende de lo que tu alumno necesita.




    Tabla de contenidos





    1. La pregunta no es qué plugin. Es qué experiencia necesita tu alumno2. Qué hace un LMS3. Qué hace un plugin de restricción de contenido4. Cuándo un LMS tiene sentido5. Cuándo basta con restricción de contenido6. Lo que puedes añadir a la restricción sin montar un LMS7. La trampa del LMS: cuando complica más de lo que aporta8. La trampa de la restricción: cuando se queda corta9. Decide con estas preguntas10. Plugins concretos para cada casoPlugin de la semanaContenidos recomendados







    1. La pregunta no es qué plugin. Es qué experiencia necesita tu alumno

    Antes de buscar plugins, responde a esto: ¿qué tiene que poder hacer la persona que paga?

    ¿Necesita seguir un orden? ¿Tiene que demostrar que ha aprendido algo? ¿O simplemente necesita acceder a un contenido que ahora mismo no puede ver?

    Esa respuesta te dice qué camino tomar. Y los dos caminos son muy diferentes en complejidad, en mantenimiento y en lo que le exigen a tu web.

    2. Qué hace un LMS

    Un plugin LMS (Learning Management System) controla la experiencia de aprendizaje. No solo bloquea contenido: estructura cómo se consume.

    Te da:

    Estructura de curso: módulos, lecciones y temas organizados en un orden que tú defines.

    Progreso automático: el sistema sabe en qué lección está cada alumno y le muestra su avance.

    Cuestionarios y evaluaciones: preguntas que validan que el alumno ha entendido el contenido antes de avanzar.

    Certificados: un documento que se genera al completar el curso (normalmente solo en versiones premium).

    Prerrequisitos: el alumno no puede acceder a la lección 5 sin completar la 4.

    Panel del alumno: una zona donde ve sus cursos, su progreso y sus certificados.

    El LMS impone una estructura. Eso es su ventaja y su limitación. Tú defines el recorrido y el alumno lo sigue.

    3. Qué hace un plugin de restricción de contenido

    Un plugin de restricción bloquea páginas, entradas o secciones según quién sea el usuario. Si tiene la membresía correcta, ve el contenido. Si no, ve un mensaje invitándole a suscribirse.

    Te da:

    Control de acceso: decides qué contenido es público y qué es privado, por nivel de membresía o por rol de usuario.

    Libertad total de diseño: el contenido lo creas tú con el editor de WordPress, con Elementor, con bloques, como quieras. No hay plantillas impuestas.

    Niveles de membresía: puedes tener un plan básico que ve 10 páginas y un plan premium que ve 50.

    Gestión de pagos: la mayoría integran Stripe y PayPal para cobrar las suscripciones.

    No hay estructura de curso, ni progreso, ni cuestionarios. El usuario accede y consume lo que quiera en el orden que quiera.

    4. Cuándo un LMS tiene sentido

    Un LMS merece la pena cuando la experiencia de aprendizaje ES el producto. Es decir, cuando el valor no está solo en el contenido, sino en cómo se recorre.

    Situaciones claras:

    El orden importa. El alumno no debería ver el módulo 3 sin haber pasado por el 1 y el 2. Cada lección construye sobre la anterior.

    Necesitas evaluar. Quieres que el alumno demuestre que ha entendido algo antes de seguir. Un cuestionario al final de cada módulo, una tarea que tú corriges.

    Quieres emitir certificados. El alumno completa el curso y recibe un documento que puede presentar a su empresa o incluir en su currículum.

    Necesitas ver el progreso de cada alumno. Quieres saber quién ha completado qué, dónde se quedan atascados, quién no ha empezado.

    La formación es tu negocio principal. Eres una academia online, una escuela profesional, una empresa que vende formación como producto estrella.

    Si te ves reflejado en tres o más de estos puntos, necesitas un LMS.

    5. Cuándo basta con restricción de contenido

    La restricción de contenido es suficiente cuando el valor está en acceder al contenido, no en seguir un recorrido guiado.

    Situaciones claras:

    El orden no importa. El usuario elige qué consume y cuándo. No hay una secuencia obligatoria.

    Vendes acceso a una biblioteca. Tutoriales, guías, vídeos, plantillas, snippets, recursos. El usuario entra y busca lo que necesita.

    Tu membresía es contenido + comunidad. El usuario paga por acceso a un área privada con contenido actualizado, no por un curso con inicio y fin.

    No necesitas exámenes ni certificados. Nadie tiene que «aprobar» nada.

    Quieres control total del diseño. Un LMS te impone sus plantillas, sus taxonomías, su estructura de URLs. Con restricción, cada página es tuya.

    Si tu contenido se parece más a una biblioteca que a un aula, la restricción es tu camino.

    6. Lo que puedes añadir a la restricción sin montar un LMS

    El argumento más habitual para instalar un LMS es «necesito que el alumno vea su progreso». Pero hay plugins que resuelven eso sin la complejidad de un LMS completo.

    Marcar contenido como completado: WPComplete añade un botón de «Marcar como completado» a cualquier página o entrada. El alumno va marcando lo que termina, tú ves quién ha completado qué desde el panel de WordPress. Funciona con cualquier tema y cualquier plugin de membresía. Versión gratuita disponible, versión Pro con barras de progreso y gráficos.

    Guardar contenido como favorito: Favorites permite al usuario marcar contenidos que le interesan para volver a ellos. Útil cuando tienes una biblioteca grande y el usuario necesita organizar su propio recorrido. Gratuito, funciona con cualquier tipo de contenido (entradas, páginas, CPTs).

    Con estos dos complementos tienes progreso básico y organización personal. Sin tablas extra en la base de datos por cada curso, sin taxonomías propias, sin plantillas que choquen con tu tema.

    7. La trampa del LMS: cuando complica más de lo que aporta

    Un LMS añade peso a tu web. Tablas en la base de datos, menús de administración, taxonomías propias, plantillas que pueden entrar en conflicto con tu tema, endpoints nuevos en tu API REST.

    Si lo que vendes son 5 vídeos detrás de un muro de pago, no necesitas un LMS. Necesitas una página restringida con un botón de «Marcar como completado».

    He visto webs con un LMS instalado para gestionar un solo curso de 8 lecciones. El plugin pesaba más que todo el resto de la web junto. La experiencia del alumno no era mejor que con una simple restricción de contenido. Pero el mantenimiento, las actualizaciones y los posibles conflictos sí eran mayores.

    Instalar un LMS «por si acaso crezco» es añadir complejidad que luego cuesta quitar. Es más fácil empezar con restricción y migrar a LMS si lo necesitas que al revés.

    8. La trampa de la restricción: cuando se queda corta

    Si tus alumnos te escriben preguntando «¿por dónde voy?» o «¿qué lección me toca?», tu sistema se ha quedado corto.

    Si necesitas que el alumno no avance sin completar un paso previo (contenido secuencial con lógica de prerrequisitos), la restricción de contenido sola no resuelve eso. Puedes parchearlo con plugins de drip content, pero estás simulando lo que un LMS hace de serie.

    Si te ves encadenando tres o cuatro plugins para replicar funciones de un LMS (progreso, orden, evaluación, certificados), es el momento de plantearte el LMS. Cuatro plugins parcheando siempre dan más problemas que uno solo que lo integre todo.

    9. Decide con estas preguntas

    ¿El orden importa? → LMS

    ¿Necesitas exámenes o evaluaciones? → LMS

    ¿Necesitas certificados? → LMS

    ¿El alumno elige qué consume y cuándo? → Restricción

    ¿Quieres control total del diseño de cada página? → Restricción

    ¿Vendes acceso a una biblioteca de recursos? → Restricción

    ¿Tienes 3 plugins parcheando funciones que un LMS haría solo? → Plantéate el LMS

    Si la mayoría de tus respuestas caen en el lado del LMS, ve a por él. Si caen en restricción, no compliques tu web innecesariamente.

    10. Plugins concretos para cada caso

    Si necesitas un LMS:

    Tutor LMS (gratuito, cubrimos su configuración en el episodio 519): la mejor experiencia de creación de cursos en versión gratuita. Interfaz propia que no parece WordPress.

    LearnDash (premium, desde $199/año): el más extendido en el mercado anglosajón. Muy completo, muchas integraciones, comunidad grande.

    LifterLMS (gratuito con extensiones premium): buena opción intermedia. Versión gratuita más generosa que LearnDash pero menos pulida que Tutor LMS.

    Si te basta con restricción de contenido:

    Paid Memberships Pro (versión gratuita muy completa): la opción gratuita más capaz. Soporta Stripe y PayPal en la versión free, niveles de membresía ilimitados, restricción por página, entrada, categoría o bloque.

    Restrict Content Pro (desde $99/año): ligero, bien programado, preferido por desarrolladores. Sin versión gratuita funcional para producción.

    MemberPress (desde $179/año): el más completo. Incluye su propio módulo de cursos si lo necesitas más adelante. Buena opción si prevés que vas a crecer.

    Complementos para restricción:

    WPComplete: botón de «Marcar como completado» en cualquier página. Progreso básico sin LMS.

    Favorites: el usuario guarda contenidos para volver a ellos. Gratuito.

    Plugin de la semana

    El plugin de la semana es WP Hooks Finder. Muestra todos los hooks (acciones y filtros) que se ejecutan en cualquier página de tu web. Lo activas, abres la página que quieres inspeccionar y ves exactamente qué hooks hay disponibles para personalizar esa parte. Ideal para desarrolladores que necesitan saber dónde engancharse sin leer el código fuente. Gratuito, ligero y con 5 estrellas.

    Contenidos recomendados

    Vídeo de la Zona Código: Cambiar el color y tamaño de las estrellas de valoración en WooCommerce

    Curso de Tutor LMS

    Curso de Tutor LMS Pro

    Curso de LearnDash

    Curso de Restrict Content Pro

    Reseña de Tutor LMS (versión gratuita)

    Newsletter de WordPress Semanal

    La entrada 527 | ¿Plugin de cursos o de membresía? Cómo elegir sin arrepentirte es una artículo de Gonzalo Navarro.
More Courses podcasts
About WordPress Semanal
El podcast semanal para sacarle partido real a WordPress. Cada episodio cubre una herramienta, un proceso o una decisión concreta: lo que necesitas para crear mejores webs, en menos tiempo y con más criterio.
Podcast website

Listen to WordPress Semanal, Immersive Spanish and many other podcasts from around the world with the radio.net app

Get the free radio.net app

  • Stations and podcasts to bookmark
  • Stream via Wi-Fi or Bluetooth
  • Supports Carplay & Android Auto
  • Many other app features