¿Quieres valorar este artículo? Gracias

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando…

Cómo insertar publicidad dentro del contenido de un post en WordPress

En este nuevo post aprenderás a insertar publicidad dentro del contenido de las entradas y páginas de WordPress. Te explicaré dos maneras diferentes para lograr colocar, imágenes, banners de afiliados… dentro de tu contenido. Obviamente estamos hablando de insertar contenido dinámico de manera automática en todas las páginas, entradas… 

Seguramente te has fijado en más de una página web que tiene anuncios dentro del contenido de sus entradas y/o páginas. Probablemente si estás leyendo esta entrada es porque te preguntas cómo puedes insertar publicidad dentro del contenido de tus artículos:

  1. ¿Tienes que ir entrada por entrada editando el contenido? La respuesta es un NO rotundo, sería ineficiente lo mires como lo mires. 
  2. ¿Tienes que recurrir a plataformas de terceros? Si tu objetivo es insertar unos pocos anuncios de afiliados o similares, publicidad de unas pocas empresas, productos recomendados… este post es para ti. En caso contrario, si lo que quieres es rentabilizar tu blog con publicidad de múltiples empresas y productos, te conviene recurrir a los servicios de algunas redes publicitarias o agencias publicitarias online. Si este es tu objetivo te recomiendo el siguiente artículo de www.dineropornavegar.es, donde analizan 20 empresas de publicidad online.

Insertar publicidad dentro del contenido de tus post WordPress con código

Para insertar anuncios dentro del contenido, vamos a crear un código que copiaremos dentro de nuestro archivo functions.php del tema. En este ejemplo insertaremos publicidad dentro del contenido de las entradas de nuestro blog. A lo largo de este tutorial encontrarás modificaciones del código que te ayudarán a insertar banners de publicidad dentro del contenido de páginas, post, post según categoría, entradas personalizadas…

Abre tu archivo functions.php. La ruta del archivo es la siguiente: wp-content/themes/tutema/functions.php

Recuerda que si no quieres perder los cambios realizados en tu página después de una instalación es recomendable crear tu propio plugin o trabajar con un tema hijo.

 Copia y pega el siguiente código:

Para tener tu código funcionando, debes sustituir: ‘<div>El contenido del anuncio</div>’ por el contenido de tu anuncio, por ejemplo:

*el ejemplo anterior muestra como insertar un banner de afiliado con enlace e imagen. El código original mostrado en este apartado es de la web WpBeginner. 

Explicando el código que inserta anuncios dentro del contenido

Vamos a explicar el código completo para que tengas control total sobre las funciones. Si entiendes bien estas funciones, serás capaz de realizar cambios y adaptar el código a tus necesidades.

1.- Filtro

Cómo nuestro objetivo es modificar el contenido de nuestros post o páginas, lo primero que hacemos es utilizar el filtro: “the_content”. Este filtro actúa después de extraer el contenido de la base de datos y antes de imprimirlo en pantalla. El funcionamiento es el siguiente:

  1. Consulta a la base de datos y trae el contenido.
  2. Si hay un filtro que afecte al contenido, ejecutar el  filtro => en nuestro caso, ejecutar la función: insertar_anuncios_contenido_post
  3. Mostrar el resultado por pantalla

2.- Función crear anuncio

Declaramos la función principal que devuelve el contenido del post modificado. Si observas verás que a la función le pasamos un parámetro “$content”. Realmente es el filtro anterior quién se encarga al llamar a la función de enviar el contenido del post. 


Creamos una variable: “$contenido_ad”. Su función es almacenar el contenido de nuestro anuncio; textos, enlaces, imágenes… Debes modificar este contenido para que se adapte a tus anuncios.


Fíjate bien en esta línea del código, es la que permite que las entradas únicamente se muestren en las páginas individuales de nuestro blog. Para conseguir esto utilizamos la función is_single(), que comprueba si un post individual se está mostrando. is_single() es booleana, es decir devuelve true o false. También utilizamos la función is_admin() que controla si estamos viendo la entrada dentro del administrador de WP. Esta función devuelve true o false, por ejemplo, devolverá true si la URL actual es una página dentro del administrador. 

El significado de esta línea de código es el siguiente: si el contenido pertenece a un post individual y la URL del post no es un post que estoy editando en el administrador WP, entonces entra. En caso contrario salta la condición y devuelve el contenido sin modificar.


Si se da la condición anterior, llamo a la función que se encarga de buscar el párrafo concreto, insertar el contenido y devolver el contenido modificado. La llamada a la función la realizo enviando las tres variables necesarias para ejecutarse:

  1. El contenido del anuncio que quiero insertar ($contenido_ad)
  2. La cantidad de párrafos que quiero que se impriman antes que la publicidad (2). Si quieres que tus anuncios se inserten después de otro párrafo cambia el número 2 por el párrafo donde quieres que se inserte la publicidad.
  3. El contenido entero del post que ha facilitado el filtro the_content ($content)

En la misma llamada indicamos que nos devuelva el resultado de la función insertar_despues_del_parrafo. Para que lo entiendas sin problemas, es equivalente al siguiente código:


3.- Función buscar párrafo he insertar

Es la función que se encargará de dividir el contenido en párrafos y insertar el anuncio en el lugar adecuado.


Para dividir el contenido en párrafos usamos la función PHP “explode”. Esta función se encarga de dividir un string, en nuestro ejemplo $content en varios string. Para dividir el string en otros le tenemos que indicar por donde dividir. Como queremos que divida párrafos, le decimos que cada vez que encuentre una etiqueta de cierre de párrafo </p>, corte el string por ahí. 

Un ejemplo:

$closing_p=”</p>”;

$content=<p>Peras</p><p>Manzanas</p><p>Limones</p><p>Naranjas</p><p>Melón</p>;

$paragraphs = explode( $closing_p, $content );

$paragraphs[0]=<p>Peras;$paragraphs[1]=<p>Manzanas;$paragraphs[2]=<p>Limones;

El problema es que explode se ha cargado todas las etiquetas de párrafo… lo solucionaremos después.


Después de dividir el string en párrafos y guardarlos en el array $paragraphs, debemos recorrer todo el array. Vamos a recorrer el array con foreach, puedes trabajar con for o while si te resulta más cómodo. La función de esta línea de código es: recorre el array, por cada iteración guarda el resultado en la variable $paragraph y guarda la posición en  $index.


Ya he comentado antes que la función de PHP explode borra el delimitador. Es decir nuestros párrafos individuales han perdido la etiqueta de cierre de párrafo. Vamos a añadir de nuevo esa etiqueta para conservar el HTML correcto. Empleamos la función de PHP trim sobre cada párrafo individual extraído del foreach. Trim devuelve el string sin espacios al inicio y al final del párrafo. Volvemos a guardar el string en el array de todo el contenido, en la misma posición pero añadiendo al final </p>.

$paragraphs[$index] .= $closing_p;

Si esto te resulta confuso o te has perdido, escribe un comentario y trataré de explicarlo de forma que te resulte claro.


Ahora comprobamos si el ID del párrafo, en nuestro caso “2”, es igual al índice del array +1. Recuerda que los índices comienzan en “0”, es decir el párrafo dos estará guardado en la posición del array “1”. En caso de que estemos en el segundo párrafo añadimos $insertion, que es la variable que le hemos pasado $contenido_ad, nuestro anuncio.


por último devolvemos todo el contenido del array y separamos cada elemento con un espacio. La función implode se encarga de asignar  algo, en nuestro caso un espacio (‘ ‘) entre los elementos de un array.

¿Ha sido duro?

La explicación anterior te ayuda a modificar el código y adaptarlo a tus necesidades. Vamos a ver unos cuantos ejemplos de código modificados que insertan varios anuncios dentro del contenido, insertan anuncios en páginas, insertan publicidad solo en post de una determinada categoría…

Modificaciones del código insertar anuncios

Insertar la publicidad dos veces en el contenido

El código anterior inserta el mismo anuncio dentro del contenido de los post después del párrafo 2 y después del párrafo 8.

Varios anuncios en el mismo post

Mostrar anuncios en determinados post

Si quieres que tus anuncios se muestren solamente en algunos post, puedes utilizar is_single() con diferentes parámetros.

Por ejemplo, insertar publicidad dentro del contenido del post con ID 17:

o en post que cumplan:

que tienen asignado el ID 17, que su slug es “beef-stew” o su título “Irish Stew”.

También puedes crear diferentes anuncios para cada categoría de tus entradas. Si en tu blog hablas de diseño, puedes crear varias funciones: una para iluminación, otra para muebles…

Si quieres insertar publicidad de muebles únicamente en los post con categoría “muebles”:

Como ves podemos crear infinitas variantes del código. Si necesitas ayuda para adaptar el código puedes escribir un comentario.

Insertar anuncios en páginas

Si quieres insertar publicidad dentro del contenido de tus páginas, lo único que debes cambiar en el código es:

por lo siguiente:

Si quieres insertar publicidad dentro del contenido de páginas concretas, entonces:

esto inserta en anuncio dentro de la página contacto. También puedes pasar el ID de página, ejemplo:

se mostrará la publicidad en la página cuyo ID es 23.

o en múltiples páginas:

imprimir el anuncio dentro del contenido de las páginas con ID 42, slug o final de URL “about-me” y con título de página “Contact”.

Mostrar banner publicidad en entradas personalizadas

Si tienes creadas entradas personalizadas en tu WP puedes utilizar el siguiente código para añadir banners de publicidad a las entradas personalizadas. Tienes que sustituir is_single() por:

Si además de a las entradas tipo libro quieres añadir a otras entradas personalizadas código de anuncios:

Insertar publicidad dentro del contenido de tus post WordPress con plugin

Hay varios plugins que te facilitan la inserción de banners de publicidad dentro del contenido en Wp. Voy a nombrar dos en concreto, ya que son los únicos con los que he trabajado en algunos proyectos.

El primero Post Adverts es un plugin sencillo de configurar. Después de la instalación, verás un nuevo menú en el administrador de WP: Post Adverts > Settings, desde el menú puedes indicar la configuración que deseas:

  1. insertar anuncios dentro del contenido de post, páginas o entradas personalizadas.
  2. Mostrar la publicidad antes del contenido, después del contenido o en un determinado párrafo.
  3. Compatible con código de terceros como Google Adsense.

Otro plugin similar es Quick Adsense, tiene una interfaz muy sencilla con múltiples opciones de configuración. 


Y esto es todo por hoy, después de este intenso post estoy segura de que estarás capacitado para insertar banners dentro del contenido de tus páginas, post o entradas personalizadas. Si alguna parte del tutorial se te resiste puedes enviar un comentario y te echo una mano.

Nerea Liebana

Lph by Nerea Liébana

¿Quieres suscribirte al Newsletter?

Web Hosting

Últimos artículos