5Logo WordpressAnuncios de Adsense por encima del último párrafo de un mensaje

Es posible que haya notado que hemos modificado cómo mostramos nuestros anuncios de AdSense. Queríamos algunos pequeños anuncios de solo texto cerca de la parte inferior de cada artículo., que se agregaría automáticamente. Esto tomó un poco de retoques, pero eventualmente desarrollamos una solución que funciona bien y no parece afectar mucho los tiempos de procesamiento de la página. Simplemente agregue el siguiente código a las funciones de su tema.php (no para-llegar a cambiar su ID de AdSense) 

Actualizado el 12 de noviembre de 2017 ya que el código no funcionaba correctamente como se mostró anteriormente. También he añadido 2 otras funciones que uso, uno para insertar anuncios a través de shortcode, y otro para agregar un anuncio donde más se elimina cuando se muestra una publicación completa

/************************************************************************\
* Adsense código corto para la inserción de 2 Anuncios en cualquier lugar a través de código corto *
\************************************************************************/
Google_Adsense función( $atts, $contenido = null ) {
   return '<div class ="a" = estilo"text-align: centro;"><div id ="google-1"></div><estilo p ="claro: ambos"></p></div>';
}
add_shortcode('publicidad de Google', 'Publicidad de Google');




/******************************************\
* Espectáculo 2 Anuncios de AdSense en la etiqueta más *
\******************************************/
add_filter('The_content', 'Adsense_added_at_more_tag');

// Esta función reemplazar su etiqueta más con sus códigos de adsense.
adsense_added_at_more_tag función($texto) {
si( is_single() ) :
$ads_text = '<div id ="google" class ="a" = estilo"text-align: centro;"><div id ="google-1"></div><estilo p ="claro: ambos"></p></div>';
$pos1 = strpos($texto, '<span id ="Más-');
//"
si($pos1 === FALSO) $text = $ ads_text . $texto;
más
{
$pos2 = strpos($texto, '</lapso>', $pos1);
$texto1 = substr($texto, 0, $pos1);
$texto2 = substr($texto, $pos2 + 7);
$text = $ texto1 . $ads_text . $texto2;
}
endif;
return $ texto;
}




/*******************************************************\
* Mostrar solo gran anuncio de AdSense por encima del último párrafo *
\*******************************************************/
add_filter('The_content', 'Gads_added_above_last_para');

gads_added_above_last_para función($ytext) {
si( is_single() ) :
$yads_text = '<div class ="a" = estilo"text-align: centro;"><div id ="google-2"></div><estilo p ="claro: ambos"></p></div>';
si($ypos1 = strrpos($ytext, '</p>')){
$ytext1 = substr($ytext, 0, ($ypos1 + 4));
$ytext2 = substr($ytext, ($ypos1 + 4));
$ytext = $ ytext1 . $yads_text . $ytext2;
}
endif;
return $ ytext;
}

Deja una respuesta

5 comentarios

SJSarah Jones

No lo sé, pero tu código no funcionaba en mi caso. Asi que, Lo reemplacé con otro código. Si alguien más se enfrenta al mismo problema, entonces puedes usar el siguiente código.

función insert_ad_block( $texto ) {

si ( is_single() ) :

$ads_text = "Mi código de anuncio aquí";
$split_by = " n";
$insert_after = 2; //número de párrafos

// hacer una matriz de párrafos
$párrafos = explotar( $split_by, $texto);

// si los elementos de la matriz son inferiores a $ insert_after establezca el punto de inserción al final
$len = cuenta( $párrafos );
si ( $solamente < $insert_after ) $insert_after = $ len;

// inserta $ ads_text en la matriz en el punto especificado
array_splice( $párrafos, $insert_after, 0, $ads_text );

// recorrer la matriz y construir una cadena para la salida
para cada( $párrafos como $ párrafo ) {
$new_text. = $ párrafo;
}

return $ new_text;

endif;

return $ texto;

}
add_filter('el contenido', ‘Insert_ad_block’);

Respuesta
MSMateo Snider

¿Hay una manera de hacer esto por ejemplo después de la 2nd párrafo en lugar de antes de la última?

Respuesta
JSJon Scaife

Absoluta-mente. Usted sólo tiene que modificar ligeramente el código. Estoy usando strrpos que encuentra la última ocurrencia de <p>
Si quieres encontrar la segunda ocurrencia de <p> cambiar la línea 13 en el código anterior con ...

si($pos1 = strpos($texto, '<p>', strpos($texto, '<p>') + 3)){
Respuesta
Ccris

Gran trabajo el hombre. Muchas gracias. ¿Tiene alguna idea de cómo colocar una línea horizontal encima y debajo del bloque de anuncios??

Respuesta
JSJon Scaife

Seguro. Añadir un par de <hr />'S - 1 al comienzo del valor de $ ads_text y el otro al final.
Por ejemplo. reemplazar

$ads_text = '<div class ="a" = estilo"text-align: centro;"><script type ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </guión>
            <script type ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </guión></div>';

Con

$ads_text = '<hr /><div class ="a" = estilo"text-align: centro;"><script type ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </guión>
            <script type ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </guión></div><hr />';
Respuesta