Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
contenido entre parrafos

Insertar un anuncio entre el contenido de un post

Seguro que has visto en más de una ocasión páginas web que insertan anuncios o contenidos relacionados entre medias del propio contenido. De hecho yo lo tuve así durante un tiempo.

Probablemente te ronde por la cabeza la idea de saber si hay algún plugin para esto o no, y la respuesta es si. Podrás encontrar varios para cubrir esta funcionalidad en el repositorio oficial.

Pero aquí en este post te mostraré como hacerlo tu mismo/a a mano simplemente incluyendo unas líneas en el functions.php, y tener el control 100% sobre lo que queramos hacer:

Simplemente actuaremos sobre el filter the_content. En la primera función insert_post_ads() guardamos en una variable el código del anuncio o el contenido que queramos mostrar. Comprobaremos que sólo vamos a actuar en el caso que estemos en single.php (is_single()), y sólo en la parte pública (!is_admin()).

En ese caso llamamos a la función insert_ads_after_paragraph() que va a insertar la cadena que contiene la información que queremos mostrar y el número de párrafo tras el que la vamos a mostrar.

El mecanismo es sencillo: partimos o dividimos todos los párrafos de nuestro contenido the_content en un array, utilizando la función explode de PHP y marcando el “corte” a través de la cadena de texto </p>, etiqueta HTML que indica el final de un párrafo.

A continuación recorremos todos los párrafos y concatenando de nuevo la etiqueta de cierre </p>. Sólo en el caso que se cumpla la condición de que el número de párrafo que hemos pasado a la función insert_ads_after_paragraph() (en este ejemplo: 2) sea igual a $index + 1 (recuerdo que las claves o keys comienzan con 0), concatenamos la cadena de texto que contiene nuestro anuncio o contenido destacado.

Una vez finalizado el bucle retornaremos el contenido final que incluye nuestra cadena de texto con el anuncio o contenido destacado después del segundo párrafo del texto original.

Puede que también te interese

Cómo personalizar el logo y el enlace del login de WordPress
Cómo personalizar el logo y el enlace del login de WordPress
Éste es el aspecto que presenta la pantalla de login para acceder al back-end de nuestro WordPress: Es muy común que algún cliente nos pida…
Sidebar diferente para cada página en WordPress
Sidebar diferente para cada página en WordPress
En algunas ocasiones podemos necesitar tener un sidebar o barra lateral diferente para cada página o sección de nuestro sitio. Esto lo podemos hacer de…
Evitar la enumeración de usuarios en WordPress parte 2
Evitar la enumeración de usuarios en WordPress parte 2
En el artículo anterior veíamos lo que era la enumeración de usuarios y cómo un atacante malintencionado podría conseguir nuestro nombre de usuario a través…
Haz que la imagen destacada sea obligatoria
Haz que la imagen destacada sea obligatoria
Probablemente en alguna ocasión por un descuido u olvido, o quizá por las prisas, no hayas establecido una imagen destacada en un post. Y si…