Tiempo de lectura aprox: 1 minutos, 54 segundos
Cómo poner código al final de NO todas las entradas en WordPress
Si claro que se puede, ya que estamos programando …
Lo de poner texto al final de todas las entradas, es ya sabido ¿no?
Bueno, por si acaso, vamos a recordar cómo.
Cómo poner código al final de las entradas en WordPress
Una vez más, vamos a usar nuestro archivo de functions.php de nuestro tema hijo.
¡Ah! ¡Que no tienes un tema hijo! Pues debes crear uno. Sigue nuestras indicaciones. Cuando lo tengas creado, seguimos.
En el archivo functions.php tenemos que insertar una función que haga uso de un gancho de WordPress, en esta ocasión, un gancho de tipo filtro.
El filtro que necesitamos, es uno que nos permita manejar el contenido de cada entrada, así que será uno que maneje «the_content».
// define la llamada a the_content function filtra_el_contenido( $tras_el_contenido ) { // haz aquí tu magia... return $tras_el_contenido; }; // añade el filtro add_filter( 'the_content', 'filtra_el_contenido', 10, 1 );
Realmente, no hay mucho que hacer, sólo debemos añadir después del contenido ya existente, el texto que queramos.
Supongamos que queremos que todas las entradas de nuestra bitácora muestren nuestra admiración por las espinacas, pues podemos añadir la frase: «Y recuerda, un plato de espinacas al día hará que seas el más fuerte.» (Recordando a cierto marinero 🙂 )
El código que debemos incorporar es tan sencillo como «concatenar» nuestro texto al contenido que va a devolver la función en la sentencia «return». Así, el código sería (ojo a la línea 4):
// define la llamada a the_content function filtra_el_contenido( $tras_el_contenido ) { // haz aquí tu magia... return $tras_el_contenido . "Y recuerda, un plato de espinacas al día hará que seas el mas fuerte."; }; // añade el filtro add_filter( 'the_content', 'filtra_el_contenido', 10, 1 );
Por supuesto, dejo a tu imaginación si quieres adornar el texto, recuerda que estas trabajando con una cadena html, por lo que la línea 4 podría ser algo como:
return $tras_el_contenido . "Y recuerda, un plato de espinacas al día; hará que seas el mas fuerte.";
Pero lo que queríamos es que no se cumpliese siempre …
Cómo poner código al final de NO todas las entradas en WordPress
Ya que estamos programando y, ya que sabemos cómo hacer que se cumpla siempre, vamos a hacer que se cumpla sólo cuando nos interesa.
Voy a elucubrar y pensar que tienes un blog sobre recetas de cocina.
En ese blog hay algunas entradas con recetas para navidad y claro, no es cuestión de recorrer todas las recetas para ver dónde insertar el código.
Como eres una persona ordenada, tienes categorías para cada caso y, una de las categorías es «receta de navidad».
Y como esto no es una clase de programación, no me extenderé en poner todo el código, sino que te recuerdo que el código añadido puede ser similar a esto:
// define la llamada a the_content function filtra_el_contenido( $tras_el_contenido ) { if ($categoria != "receta de navidad") { return $tras_el_contenido; } return $tras_el_contenido . "<p>No olvides que tenemos muchas recetas. <strong>¡Feliz Navidad!</strong></p>"; }; // añade el filtro add_filter( 'the_content', 'filtra_el_contenido', 10, 1 );
Así que… ¡La imaginación al poder!
Actualización: Ya está disponible la segunda parte (avanzada) con el código para las categorías. 🙂
¡Gracias por leernos!
¡Tus comentarios y preguntas nos ayudan a mejorar, por favor comenta!