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 definir una plantilla diferente por categoría para el detalle de los posts
Cómo definir una plantilla diferente por categoría para el detalle de los posts
En WordPress se usa la plantilla single.php para el detalle de los posts. Podemos crear plantillas para los posts de un custom post type concreto…
¿No funcionan los shortcodes en tus widgets? Aprende cómo hacerlos funcionar
¿No funcionan los shortcodes en tus widgets? Aprende cómo hacerlos funcionar
En la entrada anterior Shortcodes: ¿Qué son y cómo crearlos? vimos que son los shortcodes y aprendimos a crearlos desde cero según nuestras necesidades. En ocasiones…
Cómo restringir el acceso al back-end de WordPress a usuarios no administradores
Cómo restringir el acceso al back-end de WordPress a usuarios no administradores
A continuación vamos a ver cómo bloquear o restringir el acceso al back-end o escritorio de WordPress (con y sin plugins), incluso ocultaremos el admin…
Cómo realizar un formulario de contacto personalizado en WordPress sin Plugins
Cómo realizar un formulario de contacto personalizado en WordPress sin Plugins
Para realizar un formulario de contacto personalizado en WordPress podemos utilizar los conocidos plugins contact form 7 o gravity forms. Si no queremos recurrir al…