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()
Potrebbero interessarti anche...
Tag: ad sense, commenti, dinamico, espressioni regolari, pagina, php, singola, wordpress
Questo articolo è stato pubblicato il martedì, 22 giugno 2010 alle 03:48 e classificato in espressioni regolari, php, wordpress. È possibile seguire tutte le repliche a questo articolo tramite il feed RSS 2.0.
Puoi lasciare un commento, oppure fare il trackback dal tuo sito.
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()
Potrebbero interessarti anche...
Tag: ad sense, commenti, dinamico, espressioni regolari, pagina, php, singola, wordpress
Questo articolo è stato pubblicato il martedì, 22 giugno 2010 alle 03:48 e classificato in espressioni regolari, php, wordpress. È possibile seguire tutte le repliche a questo articolo tramite il feed RSS 2.0. Puoi lasciare un commento, oppure fare il trackback dal tuo sito.