ad sense in base alla pagina in wordpress


A chi non è capitato di voler inserire in WordPress in alcune pagine un banner ed in altre tipo le pagine singole di inserimento dei commenti doversi “accontentare” degli insiemi di link dato che i banner disponibili sono stati usati all’interno dell’articolo?

Ecco oggi vediamo uno script per risolvere questo problema con l’uso delle espressioni regolari:

<?php
$pag = "p";
$espr = "/^(((.)+)|())(".$pag."=)(((.)+)|())$/";
if(!preg_match($espr,$_SERVER['QUERY_STRING'])){
?>
    <!-- banner_728X90_start -->
    <div class="banner_on">
    <script type="text/javascript"><!--
    google_ad_client = "pub-2719419909083936";
    /* 728x90, creato 28/03/10 */
    google_ad_slot = "0802827148";
    google_ad_width = 728;
    google_ad_height = 90;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    </div>
    <!-- banner_728X90_end -->
<?php
}
else{
?>
<div class="banner_on">
<script type="text/javascript"><!--
google_ad_client = "pub-2719419909083936";
/* 728x15, creato 21/06/10 */
google_ad_slot = "5384394699";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<?php
}
?>

In pratica nella variabile $pag inserisco il parametro get che identifica la pagina; ad esempio p identifica le pagine singole, cat le categorie, m gli archivi, tag i tag, ecc.

In pratica io con l’espressione regolare controllo che nella stringa di parametri get sia presente $pag.”=”, cioè in questo caso p= es agisco di conseguenza con un if…else…

In teoria bastava usare isset($_GET[$pag]); ma dato che non sappiamo a priori che cosa avviene all’interno di wordpress a causa dei vari plugin, $_GET[$pag] potrebbe essere stato cancellato o creato in seguito.

L’espressione regolare non fa altro che controllare la presenza di uno o più caratteri qualsiasi, escluso il \n, con ((.)+) oppure la presenza di nessun carattere con |() in seguito controlla la presenza di $pag.”=”, con (“.$pag”.=) ed infine riesegue il controllo iniziale per verificare la presenza di 0 o più caratteri, con (((.)+)|()).

Molto semplicemente si potrebbe fare nel if !is_single()

CC BY-SA 4.0 ad sense in base alla pagina in wordpress by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Lascia un commento