Cómo ocultar el título de una entrada de WordPress

Desde luego si utilizas un maquetador en WordPress (un builder = un constructor) no tiene mucho sentido mostrar el título por defecto según nuestra plantilla.

En mi caso suelo utilizar Astra, y me permite elegir en cada entrada diferentes opciones entre ellas desactivar el título:

Opciones de personalización de Astra Theme

Pero esto no es cómodo, ya que se te puede olvidar en una entrada, o quieres que se aplique a todos los contenidos. Para ello vamos a ver las diferentes formas y cuál te recomiendo.

Ocultar el título por CSS (con código)

Esta opción es la más sencilla, y no la recomiendo por cuestiones de SEO. Aunque en alguna ocasión me ha venido bien para situaciones concretas.

En Primer lugar tienes que añadir el siguiente código en tu archivo functions o plugin de funcionalidades:

//Ocultar título en páginas
function anade_clase_oculta_titulo($classes) {
	if (  is_page() || is_single() ) :
		$classes[] = 'hidetitle';
		return $classes;
		endif;
		return $classes;
}
add_filter('post_class', 'anade_clase_oculta_titulo');

Además, para utilizarla tienes que añadir en el personalizador el siguiente CSS:

*/ ocultar el titulo en contenidos */
.hidetitle .entry-title {
display:none;
}

Recuerda que este CSS puedes cargarlo también desde el archivo estilos de tu tema hijo, el archivo functions.php o un plugin de funcionalidades.

Ocultar el título de la home de WordPress con CSS

Este código te permite ocultar el título solamente de la home, aplicando CSS. Esta solución le pasa lo mismo que la anterior: no la recomiendo.

add_filter( 'the_title', 'eliminar_titulo_home_hook', 10, 100 );
function eliminar_titulo_home_hook( $title, $id ) {
	if ( is_front_page() ){
		$home_id = get_option('page_on_front');
		if ( $home_id == $id ) return '';	
	}
	return $title;	
}

Vamos con el código:

.home .entry-header{
	display: none;
}

Eliminar el título de con cualquier tema

Esta opciones de personalización son propias de diseños más avanzados. Si estás utilizando un buen tema generalmente trae un hook que te permite modificar esto. Recuerda añadir los códigos en el archivo functions de tu tema hijo. Te pongo algunos ejemplos:

Ocultar título en Astra theme con código

Solo quita el título del tema, no la imagen por defecto.

/* Ocultar titulo en astra */ 
function ocultar_titulo_astra() { 
	// Dentro del array indicamos en que tipo de contenido queremos ocultarlo. por defecto en paginas y posts
	$post_types = array('page','post'); 
	add_filter( 'astra_the_title_enabled', '__return_false' ); 
}
add_action( 'wp', 'ocultar_titulo_astra' );

Ocultar título en la home con el tema Storefront

// Quitar el titulo de la home con el tema Storefront
function ocultar_titulo_home_storefront() {
  remove_action( 'storefront_homepage', 'storefront_homepage_header', 50 );
}
add_action( 'wp', 'ocultar_titulo_home_storefront' );

Ocultar título en una página con el tema Storefront

// Quitar el titulo de unas pagina con el tema Storefront
add_action( 'wp', 'ocultar_titulo_pagina_storefront' );
function ocultar_titulo_pagina_storefront() {
 if ( is_front_page() ){
 	remove_action( 'storefront_page', 'storefront_page_header', 50 );
 }
}

Eliminar el título de un producto en WooCommerce

Aquí puede depender de tu tema, pero a nivel general puede valerte el siguiente código CSS:

/*anade este codigo CSS al tu personalizador*/
.single .product_title.entry-title{
  display: none;
}