Como ya os he comentado alguna vez, tengo un archivo llamado functions.php en donde voy acumulando funciones PHP para ir utilizándolas desde el mismo Post, desde el mismo sitio donde escribo el artÃculo.
Cada vez se van creando más funciones PHP, las cuales van siendo interesantes y ahorran escribir código. Una opción, si te interesa poner Adsense en el interior de algún artÃculo concreto, es hacerlo de forma sencilla creando las siguiente funciones. (No os asustéis por el código y leerlo de forma templada, que se intenta explicar poco a poco)
El archivo addPublicidadinpost.php deberÃa estar dentro de la carpeta theme activa, y contendrÃa el código del Bloque Adsense que queremos insertar, de esta manera.
-
print '<script type="text/javascript"><!--
-
google_ad_client = "xxxxxxx";
-
/* In Post 200x200 */
-
google_ad_slot = "-----";
-
google_ad_width = 200;
-
google_ad_height = 200;
-
//-->
-
</script>
-
<script type="text/javascript"
-
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-
</script>';
-
}
La condición if del principio es para que sólo se muestre cuando los visitantes vienen desde el Google, en cualquier otro caso no se mostrará.
Para utilizarlo simplemente deberéis poner en el Post una llamada a la función como AddPublicidadInPost(); Con el resultado siguiente.
El problema es que Adsense sólo muestra 3 bloques de anuncios por página, y si con este Bloque que insertamos en el post hace el número 4, se nos verá un hueco en blanco, o algo peor, en el lugar donde iba otro bloque Adsense. Por lo que deberÃamos hacerlo más inteligente, utilizando php, de forma que uno de los bloques que queramos sólo se muestre cuando No hemos utilizado esta función.
Por Ejemplo, si tenemos un bloque debajo del Post uno en los comentarios y el tercero en el sidebar derecho, estos hacen 3 bloques por lo que siempre se mostrarÃan sin problemas. Pero si utilizamos la función para insertar un bloque de Adsense dentro del Post, se mostrarÃan todos menos el del Sidebar, dejando un hueco en blanco.
Una forma de solucionarlo es que el Bloque Adsense de los comentarios sólo se muestre cuando No hemos insertado la publicidad dentro del Post, que normalmente será asÃ. Y para controlar esta condición podemos hacerlo con otra función y una variable global.
-
function GetAddPublicidadRelacionada(){
-
global $addpublicidad;
-
if ($addpublicidad!= 1 ) {
-
echo '<!-- Google Adsense Comment Relacionado -->
-
<span style="float:right; padding:5px">
-
<script type="text/javascript"><!--
-
google_ad_client = "xxxxxxx;
-
/* Comments Rel */
-
google_ad_slot = "----";
-
google_ad_width = 300;
-
google_ad_height = 250;
-
//-->
-
</script>
-
<script type="text/javascript"
-
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-
</script>
-
</span>
-
<!-- Google Adsense Comment Relacionado END -->';
-
}
-
}
Para poder entenderlo, tenéis que fijaros en la variable Global addpublicidad que es quien dice cuando se ha insertado el bloque adsense dentro del artÃculo y cuando no, poniendo el valor de ésta variable = 1. Por eso cuando ponemos el bloque de los comentarios primero miramos si addpublicidad es diferente de 1, porque en tal caso quiere decir que no hemos insertado el Bloque en el Interior de una Entrada.
PD.: Como siempre es bueno saber que el Css se puede exportar fuera a un fichero, por ejemplo al style.css que ya tenemos. También tenéis que saber que es indispensable el Plugin Wordpress Exec-Php.
Y Como todo en esta vida, esto es mejorable, pero hay que empezar poco a poco y piedra a piedra para poder construir algo correctamente.
Saludos y espero que os sirva de ayuda. Para cualquier duda no dejéis de comentar.
Tambien puedes dirigirte a






Muy buen artÃculo Toni, yo tengo algo parecido, pero lo he llamado publicidad.php para simplificar
UsingGracias Inkilino, yo tengo un .php para cada bloque de Adsense diferente, para insertarlo de forma rápida y sencilla y simplificar código.
UsingMe ha gustado, no es mi estilo pero me ha parecido interesante
Using[…] de nada, tengo que decir que la idea para escribir esta entrada la tuve al leer komoloves cómo hacer adsense inteligente con php. La idea de komoloves me parece buena, pero creo que se puede simplificar para hacerla más […]
Using[…] Gestion de adsense inteligente en PHPwww.komoloves.com/blogs-y-wordpress/hacer-adsense-inteligent… por chefwww hace pocos segundos […]
UsingYo tambien tengo algo asi, pero en vez de eso lo hice cambiando unas partes de la base de datos y con las funciones directas en php, entonces cuando quiero insertar por ejemplo un bloque de enlaces de adsense coloco ADSbloques728×15 o si quiero un banner mediano ADSbanner728×90.
Using