Si queremos ocultar el título de nuestras páginas en Genesis Framework, pero sólo queremos hacerlo cuando se trata de páginas o sólo cuando son posts y no en todo ellos, podemos utilizar una de las siguientes funciones:
Para ocultar el título en todos los posts:
add_action( 'loop_start', 'remove_titles_all_single_posts' ); function remove_titles_all_single_posts() { if ( is_singular('post') ) { remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); } }
Para ocultar el título en todas las páginas:
add_action( 'get_header', 'remove_titles_all_single_pages' ); function remove_titles_all_single_pages() { if ( is_singular('page') ) { remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); } }
Si queremos ocultarlo en una o varias páginas en concreto, pero no en todas, podemos adaptar la siguiente función:
add_action( 'get_header', 'remove_titles_from_pages' ); function remove_titles_from_pages() { if ( is_page(array('contacto', 'about') ) ) { remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); } }
Donde sustituiremos el array(‘contacto’, ‘about’), por los valores de las páginas donde queramos ocultar el título.
Y lo mismo para los posts:
add_action( 'get_header', 'remove_titles_single_posts' ); function remove_titles_single_posts() { if ( is_single(array('cambiar-numero-productos-pagina-woocommerce') ) ) { remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); } }
Aunque en este caso quizás no sea más práctico indicar el ID de la entrada en lugar de su slug:
add_action( 'get_header', 'remove_titles_single_posts' ); function remove_titles_single_posts() { if ( is_single(array(797) ) ) { remove_action( 'genesis_entry_header', 'genesis_do_post_title' ); } }
Si lo que necesitas es ocultar el título «Tienda» o «Shop» de las páginas de WooCommerce, en este artículo tienes la función para hacerlo.
Comentarios
3 respuestas a «Ocultar el título en páginas o posts en Genesis»
|
Hola Esther! es la segunda vez que recurro aquí y las dos veces me he quedado con las ganas de hacerlo por código.
Primero quiero agradecerte el tiempo y preguntarte:
Esas líneas de código se insertan en CSS adicional o donde? porque la última vez acabé haciéndolo mediante plugin y no me hace gracia del todo ya sabes! 🙂
Gracias!
|
Me contesto solo al comentario anterior, al final lo he arreglado introduciendo esta línea de CSS en:
Apareciencia/Personalizar/Css Adicional
.entry-title{
display: none;
}
|
Hola Ángel!
No me has dado tiempo a contestarte al comentario anterior 😉
Si, puedes ponerlo tanto en donde lo has colocado ahora, como editar el archivo styles.css del child theme y añadirlo al final.
Cada uno tiene sus preferencias, pero ambas opciones son válidas.
Eso sí, ten en cuenta que en si lo haces por CSS no discriminas si es post o página, ni puedes hacerlo para una página o post en concreto, que es lo que se comenta en el post.
Saludos!