Agregando publicidad adsense en Wordpress dentro del contenido

8 de Junio de 2009 — Darío Ferrer

Adsense WordpressA veces me da un poco de pena ver aquellos extensos plugins programados para una pendejada de función como ésta. En fin, el objetivo es que logres introducir tu código adsense dentro de tu contenido (o entre líneas). Veamos cómo hacerlo.

Éste es un manual paso a paso, elaborado para que aprendas a construirlo por ti mismo. Pero si eres leecher, vago y flojo puedes copiar el código que se encuentra al final, el cual está completo y listo para pegarlo.

Por supuesto este método no sólo se aplica al adsense sino a cualquier código, bloque, cosa o elefante que quieras colocar dentro de la variable. Es muy versátil en realidad.

1.- Abre el archivo funtions.php en tu plantilla. Si no existe créalo.

Supongamos que éste es tu código de adsense:

1
2
3
4
5
6
7
8
9
10
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js?v=381"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/connection/connection-min.js?v=381"></script>
<script type="text/javascript">
<!--
var SESSIONURL = "";
var SECURITYTOKEN = "guest";
var IMGDIR_MISC = "http://tu-sitio.com/imagenes";
var vb_disable_ajax = parseInt("0", 10);
// -->
</script>

2.- Comencemos por crear la función, llamémosla mis_ads:

1
2
3
4
<?php
function mis_ads() {
}
?>

3.- Agregamos tu código adsense como variable $adsense:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function mis_ads() {
  $adsense =
    '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js?v=381"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/connection/connection-min.js?v=381"></script>
    <script type="text/javascript">
    <!--
    var SESSIONURL = "";
    var SECURITYTOKEN = "guest";
    var IMGDIR_MISC = "http://tu-sitio.com/imagenes";
    var vb_disable_ajax = parseInt("0", 10);
    // -->
    </script>'
;
}
?>

4.- A continuación creamos el atajo de código (o shortcode) para poder manipular el contenido. Ésto lo hacemos a través de un simple preg_replace. Aquí creamos la variable $ads para darle salida y al mismo tiempo la encerramos entre los paréntesis de la función:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function mis_ads($ads) {
  $adsense =
    '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js?v=381"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/connection/connection-min.js?v=381"></script>
    <script type="text/javascript">
    <!--
    var SESSIONURL = "";
    var SECURITYTOKEN = "guest";
    var IMGDIR_MISC = "http://tu-sitio.com/imagenes";
    var vb_disable_ajax = parseInt("0", 10);
    // -->
    </script>'
;
  $ads = preg_replace('|\[ads\]|' , $adsense , $ads);
  return $ads;
}
?>

5.- Ahora sólo falta un paso: informarle a Wordpress lo que hemos construido y hacer que éste reconozca la función dentro de su sistema. Para tal fin utilizaremos add_filter y lo escribiremos fuera de la función, así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function mis_ads($ads) {
  $adsense =
    '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js?v=381"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/connection/connection-min.js?v=381"></script>
    <script type="text/javascript">
    <!--
    var SESSIONURL = "";
    var SECURITYTOKEN = "guest";
    var IMGDIR_MISC = "http://tu-sitio.com/imagenes";
    var vb_disable_ajax = parseInt("0", 10);
    // -->
    </script>'
;
  $ads = preg_replace('|\[ads\]|' , $adsense , $ads);
  return $ads;
}
add_filter('the_content', 'mis_ads');
?>

Listo. Ahora cada vez que escribas [ads] en cualquier parte de tu contenido, se reemplazará por el código que está en la función.

Ideas

Junto a tu código de adsense puedes colocar una capa contenedora (dentro de la variable, se entiende), de manera que puedas aplicarle estilos y moldearla a gusto. Por ejemplo, si tu bloque de adsense es angosto, puedes darte el lujo de rodearlo con texto aplicándole un float a la capa que lo encierra.

  • Bitacoras.com
  • Meneame
  • Twitter
  • del.icio.us
  • Facebook
  • Digg
  • Technorati
  • BarraPunto

Publicado en Wordpress. 8 Comentarios »

8 comentarios

  • Angeles dijo:
    8 de Junio de 2009 a las 8:13 pm

    Exclente tutorial, muy bien escrito y mejor aún explicado. No sobra una palabra. He disfrutado leyéndolo :)

    Buenísimo también tu blog, ya te tengo agregado en mis favoritos, pero por favor, echa una mirada a ver qué pasa con los rss, están dando un extraño error y no me he podido suscribir…

    !Saludos y felicitaciones por el blog!

  • Darío dijo:
    8 de Junio de 2009 a las 10:17 pm

    Ángeles, agradezco mucho tus palabras. En cuanto al RSS gracias por avisarme, ya lo arreglo; es un problemita común de Wordpress que se arregla rápido (por cierto, reportado como un millón de veces).

    Respecto al sitio debo advertirte que aún hay latas de pintura en el piso y escaleras metálicas atravesadas :) pues el diseño/maquetación está avanzando a paso de tortuga debido a que las “horas laborables” están full. Pero ahí le doy de a ratos.

    Oye me dí una vuelta por tu blog, qué lindo es.

  • Angeles dijo:
    9 de Junio de 2009 a las 2:32 pm

    Gracias Darío, lo tengo muy abandonado, me pasa como a tí, trabajo full time y llevo muchos meses ya sin apenas tiempo libre. Ya pude suscribirme a tus feeds, por partida doble, jajaja, te tengo tanto en los marcadores de Firefox como en Google Reader, así que te seguiré de cerca todo lo que pueda, tus posts bien lo valen :)

  • Darío dijo:
    9 de Junio de 2009 a las 2:34 pm

    Vas a terminar sonrojándome.

  • MasWebs dijo:
    9 de Junio de 2009 a las 5:08 pm

    Dario, muy bueno lo que explicas, esto me hace avanzar mucho, esta noche lo pruebo seguramente. Ya que estamos te pregunto algo: habrá manera de decirte a functions que ponga siempre el ads ese en determinado lugar? ya sea una determinada linea o bien inmediatamente luego del “mere”? supongo que si debe poderse, no? por ahi para que luego hables de ello… Ya tengo tu blog en favoritos, lo voy a leer de seguido… Saludos!

  • Darío dijo:
    9 de Junio de 2009 a las 5:25 pm

    MasWebs, me alegra saber que el recurso te sirve. Respecto a tu duda por supuesto es posible, tanto como cambiar un poquito la función (y el nombre, desde luego). Usemos el mismo ejemplo:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    function mis_ads_fijos() {
      $adsense =
        '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js?v=381"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/connection/connection-min.js?v=381"></script>
        <script type="text/javascript">
        <!--
        var SESSIONURL = "";
        var SECURITYTOKEN = "guest";
        var IMGDIR_MISC = "http://tu-sitio.com/imagenes";
        var vb_disable_ajax = parseInt("0", 10);
        // -->
        </script>'
    ;
      echo $ads;
    }
    ?>

    Al igual que el anterior lo grabarías en functions.php. Para activarlo en los archivos sólo debes escribir < ?php mis_ads_fijos() ?>.

  • MasWebs dijo:
    9 de Junio de 2009 a las 6:19 pm

    Espectacular Dario, ahora tengo para rato con esto. En cuanto lo pruebe te comento cualquier cosa, nuevamente gracias…

    Saludos!

  • MasWebs dijo:
    2 de Julio de 2009 a las 12:50 am

    Cómo estás Darío? Recien ahora me pongo a probar esto que explicas y sabes, una pregunta, cómo hago para poner un include en vez de código adsense? Es decir, lo que quiero exactamente es mostrar siempre luego del “more” un rotador de ficheros (rota diversos banners), pero aparentemente no se permite meter includes aqui dentro. Habrá manera? Muchas gracias de antemano… Saludos!

Comentar este artículo

Nombre (Requerido)

Correo (No será publicado) (Requerido)

Sitio web

Secciones

Anteriores

comentarios recientes

@Jk en ¿”WatchTower” o “CashPower”?: Hola! Solo queria decirte algo de corazon, no soy testigo, pero muchas veces...

@Glass en ¿Joomla Vs. Wordpress? (1ª parte): Muy interesante post, aunque algo parecido leí en alguna parte pero en inglés, aunque aquí se tocan...

@Ricardo Olivera en ¿Joomla Vs. Wordpress? (1ª parte): Muy interesante el post y los comentarios. Yo quiero poner una tienda tipo carrito de...

@Antonio García en ¿Joomla Vs. Wordpress? (1ª parte): Creo que la comparación no debería tomarse tan literalmente, creo que muchos usuarios no tan...

@Daniel Gonzalez en ¿Joomla Vs. Wordpress? (1ª parte): Sobre la comparación de lo que puede o no puede hacer wordpress y joomla, sería interesante...

@Bandolera en ¿Joomla Vs. Wordpress? (1ª parte): Hola chicos malos: Según he leido el artículo y los comentarios dejados, me doy cuenta que en...

@ABTOP en Construir letras capitulares en Wordpress. Parte I – PHP: Similar, but slightly different approach: http://newrussianamerica.co...

@claudia santiesteban hernandez en Malos consejos: yo tengo una enemiga por mis espaldas y hasta le tengo y me quito a angel eso me da miedo y...

Darío Ferrer — Blog personal

Sitio desarrollado con Wordpress, software libre para un mundo libre.

63 consultas a la BD en 0.750 segundos. Blog alojado en DreamHost