Ya sabes que no me gustan las automatizaciones, que pienso que siempre es mejor tenerlo todo controlado, adaptando cada contenido a su entorno, pero hay ocasiones en que se hace necesario acotar o modificar por defecto algunas cosas.
Una de estas situaciones es cuando requieras que los títulos de las entradas siempre lleven algún texto concreto además del elegido por el autor, ya sea antes o después.
Y lo mejor es que podemos hacerlo con una sencilla función que nos permitirá añadir lo que queramos a todos los títulos de las entradas de nuestro sitio, sin intervención del autor de cada entrada.
Para ello solo tienes que añadir este código a tu plugin de funciones o archivo functions.php
del tema activo y personalizarlo a tu gusto:
//Añadir cosas a los títulos function modificar_titulo($title){ return "Texto antes del título " . $title . " Texto después del título"; } add_filter('the_title','modificar_titulo');
Como imaginarás, solo tienes que cambiar los textos de muestra, por ejemplo así:
//Añadir cosas a los títulos function modificar_titulo($title){ return "Blog de Fernando Tellado: " . $title . " @fernandot"; } add_filter('the_title','modificar_titulo');
Las posibilidades son infinitas, por supuesto.
Estupenda función por obra y gracia de Anderson
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Muy útil la función, es posible usar el contenido de un Custom Field en vez de un texto fijo?
Así es! Cuando the_title() se ejecuta, está dentro del loop, por lo que se puede llamar a echo get_post_meta( $post_id, $key, $single ); para poder imprimir el valor en la página.
y con el seudoselector :after y :before no es mejor?
Mejor no, diferente. Aunque si es cierto que funcionaria sin problemas no es menos cierto que al menos por el momento no es posible asegurar que funcione en todos los navegadores mientras que este método si te asegura absoluta compatibilidad. Los 2 métodos son validos, de ti depende usar uno u otro, no esta de más conocer un truco nuevo.
Para mi lo ideal sería crear un custom metabox para el subtitulo y que el usuario pueda poner en cada entrada un texto diferente a su elección. Que por cierto deberían añadir esta opción al Core de Wordpress ya que cada vez es más común el uso de un subtitulo, en el modulo DNNEasyNews de DotNetNuke ya viene por defecto y son muchos los clientes que hacen uso de este.
Saludos!
Buenas. Quisiera Saber Si es Posible el Incluir la categoría, ya sea antes o después del titulo. Poniendo de ejemplo este Post, quedaría más o menos asi: «Programación: Añadir Elementos al Titulo Automáticamente». Gracias
Por supuesto, en tu Theme añade el the_category(‘, ‘) después del the_title(); (envuelto en etiqueta PHP claro esta, el (‘, ‘) es para separar por comas las categorias)
Lo puedes añadir en tu archivo Single, Loop, Category… donde quieras ponerlo, igual si quieres convertirlo en un subtitulo puedes envolverlo en una etiqueta H2, H3… igual eso queda a gusto de cada uno.
Que por cierto, buscando el tema de los subtitulos encontré este plugin en Ayudawordpress: https://ayudawp.com/anadir-subtitulos-a-wordpress/
Ya tiene años pero ha seguido actualizándose y cumple con lo prometido para quien no quiera andar metiéndose en el archivo config.
Muchas Gracias. Era justo Eso Lo que Buscaba 😀
Bonito post, si no fuera por que no le encuentro ninguna relación con la imagen que le precede… no había algo mejor….?
Es un «añadido» a una moto. Y no, no encontré nada mejor, a veces no estoy inspirado
Funciona pero me cambia el titulo del menu tambien
Hola, está muy bien, lo he usado para que me muestre un texto extra dentro los productos y va genial, pero el problema es que también me ha añadido el mismo texto en los títulos de cada producto en la página general. Como puedo mostrarlo solo dentro de la publicación?.
hola, como podria hacer lo mismo, pero esta vez insertar el texto antes del título directamente en la base de datos de manera masiva?