Modificar inserción anuncio después de h2 en código PHP

  • Autor Autor albert5
  • Fecha de inicio Fecha de inicio

albert5

Iota
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Estaba probando un código que pone en cada h2 un anuncio y encontré uno pero solo inserta antes del h2 y me gustaría ver si alguien sabe que necesito cambiar para que lo coloque después del h2. :/

Insertar CODE, HTML o PHP:
add_filter( 'the_content', 'prefix_insert_post_ads' );


function prefix_insert_post_ads( $content ) {


    $ad_code = 'code';


    if ( is_single() && ! is_admin() ) {

        return prefix_insert_after_paragraph( $ad_code, 1, $content );

    }


    return $content;

}


//Parent Function

function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {

    $closing_p = '<h2>';

    $paragraphs = explode( $closing_p, $content );

    $adv_insert = array_map(fn ($a) => $a . $insertion, $paragraphs);   

    return implode( '<h2>', $adv_insert );

}
 
Prueba a cambiar <h2> por </h2>
 
PHP:
function auto_ads_headings( $content ) {
    if ( is_single() && ! is_admin() ) {

        $content = preg_replace_callback('/(\<h2(.*?))\>(.*)(<\/h2>)/i', function( $matches ) {
            $ads = 'code ads';
            $noads = 'noads'; //si agrega esta clase (noads) se quita el anuncio 
            if(!stripos($matches[0], $noads)) {
                $matches[0] = $matches[1] . $matches[2] . '>' . $matches[3] . $matches[4] . $ads;
            } return $matches[0];

        }    , $content);
        return $content;

} return $content;
}
add_filter('the_content', 'auto_ads_headings');

Yo utilizo este codigo para hacer eso, si te sirve