• Home
  • Wordpress
  • Cómo eliminar CORRECTAMENTE la imagen destacada en GeneratePress

Cómo eliminar CORRECTAMENTE la imagen destacada en GeneratePress

Hey! ¿Qué tal? Aquí estoy, una vez más, desarrollando una web con WordPress y quiero compartir con vosotros este aprendizaje.

Necesidad

Estoy usando Elementor y GeneratePress, y quiero eliminar la imagen destacada que genera automáticamente la plantilla GeneratePress.

Solución

Podría, simplemente, ocultar el <div> con una clase y un poco de CSS, eso es la versión fácil, pero no es la mejor opción porque la imagen se está cargando igualmente y podemos perder tiempo de carga.

Podríamos instalar un Child Theme y editar directamente la carga de la imagen desde inc > structrue > featured-image.php, pero prefiero no instalar un tema hijo solo para esto. Así que he dado con otra solución.

La mayoría de plantillas de WordPress, si están bien hechas, funcionan con acciones y hooks. No quiero entrar mucho en detalle, pero básicamente lo que hace una acción es lo siguiente:

  1. En una parte de la web le dices a WordPress «aquí realiza una acción».
  2. Y, en otro lugar del código le dices «cuando te toque hacer una acción, haz también esto».

Por ejemplo:

  1. Cuando llegues a casa, haz la acción zapatos.
  2. Cuando hagas la acción zapatos también guárdalos en el zapatero.

Y, en otro lugar, podrías incluso añadir una segunda acción:

  1. Cuando llegues a casa, haz la acción zapatos.
  2. Cuando hagas la acción zapatos también ponte las zapatillas.

Entonces, automáticamente, cuando entre a casa guardaría los zapatos y se pondría las zapatillas. Esto es para que entiendas que se pueden ir añadiendo acciones cuando algo ocurre.

Bien, ahora vamos con la solución a como eliminar u ocultar la imagen destacada de una página en la versión gratis de GeneratePress:

/* Elimino imagen de cabecera */
add_action( 'generate_after_header', 'remove_featured_image_ms', 9 );
function remove_featured_image_ms(){
remove_action('generate_after_header', 'generate_featured_page_header', 10, 2);
}

En el código anterior lo que haces es que, cuando se llame a la acción «generate_after_header» WordPress va a hacer lo que pone dentro de la función. Y, ¿qué hace la función? Eliminar la orden de cargar la imagen destacada.

Volviendo al ejemplo anterior sería como si pusiéramos una orden que sea «no hagas la siguiente orden de ponerte las zapatillas».

Un detalle: el 9 y el 10 es para indicar que mi acción es preferente (9) a la acción de la plantilla (10).

¡Espero que os sirva!

Un saludo,

 

Picture of Marcos Séculi
Marcos Séculi
Me encanta crear, probar y aprender cosas nuevas, sobre todo en el mundo digital. Llevo creando y monetizando páginas web en WordPress desde 2013. Actualmente estoy especializado en SEO para WordPress y en el desarrollo de páginas webs escalables para mis clientes. He trabajado en agencias, consultorías y también como freelance.