El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

WordPress: Trucos semanales

Incluir contenido personalizado en los listados de posts

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
WordPress como herramienta de gestión y creación se ha convertido por méritos propios es una completa solución de desarrollo de proyectos digitales que puedes adaptar a prácticamente todo tipo de necesidades. En esta serie semanal, dedicada por completo al desarrollo de proyectos digitales empleando WordPress, verás un amplio surtido de trucos, técnicas y plugins variados con los que podrás añadir nuevas posibilidades a todos nuestros proyectos orientados al mundo web. De esta forma conseguirás ahorrar tiempo y los esfuerzo necesarios para dar con ellos, aportándonos nuevos conocimientos de aplicación directa desde el primer momento.
08:12
  Añadir a marcadores

Transcripción

En el vídeo de hoy, me gustaría mostrar cómo poder mostrar contenido personalizado en nuestras páginas de archivo o listados de entradas. Un ejemplo bien práctico es querer mostrar algún bloque de contenido publicitario, un formulario de suscripción al newsletter, o alguna imagen que nos sirva para destacar un contenido relevante. Podemos hacerlo de muchas formas distintas, pero hoy, concretamente, vamos a ver una de las más sencillas y que además nos va a ofrecer un punto extra de flexibilidad, indicar exactamente si lo queremos mostrar al inicio del listado de contenidos o queremos intercalarlo en alguna posición determinada. Vamos a tener que meternos un poquito con código, pero no será nada complejo y podremos entender línea por línea lo que estamos haciendo en realidad, para así poder adaptarlo a las necesidades que tengáis en cada ocasión. Estoy seguro que el contenido de hoy os vendrá genial en vuestros proyectos. Yo lo he usado continuamente. Vamos a verlo. Si ya tenemos ciertos conocimientos a la hora de poder trabajar con PHP, o no tenemos mucho miedo, o incluso tenemos un entorno de pruebas en el que podemos hacer cualquier tipo de destrozo a nivel de código, lo que te propongo a continuación es coger una pequeña porción de código que voy a mostrar ahora mismo en pantalla, que nos va a servir como base para poder intercalar contenido dentro de los diferentes listados de archivos que podemos encontrar dentro de WordPress. En mi caso, vamos a mostrar ahora el código que tengo ahora mismo en pantalla, es un código PHP, es una sentencia if mediante un contador que nos va a permitir intercalar contenido. ¿Dónde voy a meter este código? Bueno, pues, antes de saber dónde voy a meterlo, vamos a explicarlo así rápidamente, una sentencia if me va a permitir comparar dos situaciones. Para que todos nos entendamos, esto viene a decir que si la variable $countad es igual a 1, es igual a 5, o es igual a 10, si se ejecuta cualquiera de estas situaciones vamos a incluir este código dentro del template en el que lo voy a incluir. Y si no, simplemente no va a pasar nada. Cada vez que se ejecute esto, como el código se va ejecutando de arriba a abajo, bueno, pues terminado este if se añade a esta variable un valor más, es decir, por defecto no tenemos definida esta variable con ningún valor, con lo cual la primera vez que se ejecute el valor de $countad tendrá valor 0, en el momento en que se recurra por primera vez se va a sumar un valor de una unidad, con lo cual ya entraría por esta primera sentencia, volvería a recorrerse por completo, se sumaría 1, no pasaría nada, se sumaría una más, tampoco pasaría nada, pero en el momento en que $countad, esa variable ya llegue sea a valer 5, volveríamos a imprimir todo este código y lo mismo si pasase cuando $countad ya vale 10. Realmente esto se entiende mucho más cuando lo veamos y cuando entendamos dónde lo vamos a aplicar, porque esto por sí mismo, bueno, si lo ejecutásemos solo se va a ejecutar una vez. Lo que yo voy a hacer es copiar todo este código y lo voy a incluir dentro del loop de WordPress. Ese loop va a estar, por así decirlo, dando vueltas hasta mostrar todos los posts incluidos en la consulta que se haga. Voy a mostrarlo dentro del navegador --que lo tendría aquí--, vamos a dirigirnos al panel de administración, y lo que estoy editando ya ahora mismo, este template que estoy viendo aquí, es uno que me permite ver el listado de posts asociados a una categoría en concreto. Esta categoría es una taxonomía personalizada, que en este caso se llama "group", pero, bueno, lo podemos hacer dentro de cualquier tipo de template que nosotros necesitemos los que vengan por defecto dentro de WordPress van a funcionar exactamente igual. Y ahora mismo si accedo a cualquiera de estas categorías, de estas taxonomías personalizadas, estoy viendo un listado de posts asociados que yo creé dentro del panel de administración y, bueno, no tiene mucho misterio. Lo que yo quiero hacer es intercalar entre un número determinado de estos posts un contenido que yo quiera personalizado y que es lo que voy a conseguir con el contenido de código que había incluido antes. Vamos a volver a la pantalla de administración y lo que voy a buscar es dónde está el loop de WordPress. Generalmente, bueno, aunque hay varias maneras de hacerlo, desde las últimas versiones se suele usar el método de $wp_query. Aquí es donde empieza el bucle, el loop en este caso, y lo que voy a hacer es dejar un par de espacios y pegar el código que he añadido. Vamos a guardar, a ver qué es lo que ocurre. Vamos a actualizar el fichero. Y vamos a actualizar la parte pública para que veamos qué es lo que ocurre. Si nos fijamos, ahora mismo esta imagen de aquí pues no aparecía, vamos a hacer scroll aquí abajo, tampoco aparecía, vamos a seguir haciendo scroll para abajo una tercera vez, y vamos a seguir haciendo scroll porque no debería aparecer por ningún lado más. ¿Qué es lo que hemos conseguido? Cada vez que se esté ejecutando el loop de WordPress en este template está haciendo exactamente lo que comentaba al principio de la sentencia if, pues tenemos una variable $countad que va a ir variando su valor debido a esta sentencia que tenemos ahí, cada vez que se va a ir ejecutando va a aparecer un post y va a hacer esta sentencia if. Como no sabemos qué valor tiene la variable de inicio, sabemos que tiene 0, evidentemente, pero esto no se va a cumplir con lo cual le añadimos una unidad, suma 1, se vuelve a ejecutar el loop para el siguiente post, como ya vale 1 esta variable, va a imprimir este contenido, que es justo lo que está pasando aquí. La variable $countad valía 0 cuando se mostró, cuando se pintó este post, con lo cual no se mostraba. Se suma una unidad a esa variable, como ahora vale 1, es cuando se pinta. Pasa a la siguiente. Como la variable, habíamos dicho, que tenía que valer 1, 5, o 10, no se va a mostrar hasta que empieza a contar, 1, 2, 3, 4, 5, y en el siguiente ya aparecería otra vez. 6, 7, 8, 9 y 10, cuando valga 10 aquí la muestra. Aquí seguiría contando, 11, 12, 13, seguiría contando pero no aparece porque no tenemos ninguna sentencia más para que aparezca. Si, por ejemplo, aquí pusiésemos, vamos a poner el operador Or y vamos a escribir nuevamente la variable y vamos a darle, por ejemplo, el valor de 13, si guardamos, vamos a ejecutar, y vamos a recargar la página. Veremos que ahora no aparece tres, sino cuatro veces. Tenemos aquí la primera, segunda, tercera y cuarta. Este contenido que me aparece aquí, este texto es totalmente personalizable, es simplemente código HTML, o código PHP, lo que yo quiera incluir lo puedo personalizar tanto como yo necesite. De la misma manera que a la hora de trabajar con las variables yo puedo hacer que el contenido se intercale cuando esta variable valga 1, valga 5, valga 3, valga 2, tantas veces como yo quiera lo puedo incluir aquí. Mi consejo con esto es que, aunque no estemos muy duchos en materia de código, simplemente cojamos este código, nos vayamos a nuestro entorno de pruebas, el template que queramos de archivos de una taxonomía personalizada, donde nosotros queramos, empecemos a probar y lo vayamos ajustando a nuestras necesidades. No hay nada más divertido que empezar a estropear las cosas hasta ver y entender realmente cómo funcionan.