| Wordpress'te yazı içine reklam ekleme | Eklentisiz! | 34 Mesajlar | 13.240 Okunma | ||
add_filter( 'the_content', 'paragraflar_arasi_reklam_goster' );
function paragraflar_arasi_reklam_goster($content){
    if( in_the_loop() ){ 
        $closing_p = '';
        $paragraphs = explode( $closing_p, wptexturize($content) );
        $count = count( $paragraphs );
        if( 6 >= $count ) {
            $totals = array( $paragraphs ); 
        }else{
            $midpoint = floor($count / 2);
            $first = array_slice($paragraphs, 0, $midpoint );
            if( $count%2 == 1 ) {
                $second = array_slice( $paragraphs, $midpoint, $midpoint, true );
            }else{
                $second = array_slice( $paragraphs, $midpoint, $midpoint-1, true );
            }
            $totals = array( $first, $second );
        }
        $new_paras = array();   
        foreach ( $totals as $key_total=>$total ) {
            $p = array();
            foreach ( $total as $key_paras=>$paragraph ) {
                $word_count = count(explode(' ', $paragraph));
                if( preg_match( '~<(?:img|ul|li)[ >]~', $paragraph ) || $word_count < 10 ) {  
                    $p[$key_paras] = 0; 
                }else{
                    $p[$key_paras] = 1; 
                }   
            }
            $m = array();
            foreach ( $p as $key=>$value ) {
                if( 1 === $value && array_key_exists( $key-1, $p ) && $p[$key] === $p[$key-1] && !$m){
                    $m[] = $key;
                }elseif( !array_key_exists( $key+1, $p ) && !$m ) {
                    $m[] = 'no-ad';
                }
            } 
            if( $key_total == 0 ){
                $ad = array( 'ad1' => 'Birinci reklam.' );
            }else{
                $ad = array( 'ad2' => 'İkinci reklam.' );
            }
            foreach ( $total as $key_para=>$para ) {
                if( !in_array( 'no_ad', $m ) && $key_para === $m[0] ){
                    $new_paras[key($ad)] = $ad[key($ad)];
                    $new_paras[$key_para] = $para;
                }else{
                    $new_paras[$key_para] = $para;
                }
            }
        }
        $content =  implode( ' ', $new_paras );
    }
    return $content;
}
WpÖmerFaruk adlı üyeden alıntı
Size de teşekkür ederim :)
//Aşağıdaki 2. paragraftan sonra görünecek olan ilk reklam kodu yer alıyor
 
add_filter( 'the_content', 'yazi_icine_reklam_ekleme_fonksiyonu' );
 
function yazi_icine_reklam_ekleme_fonksiyonu( $content ) {
     
    $ad_code = 'İlk reklam.';
 
    if ( is_single() && ! is_admin() ) {
        return reklam_kodunu_yerlestirme_fonk( $ad_code, 2, $content );
    }
     
    return $content;
}
  
function reklam_kodunu_yerlestirme_fonk( $insertion, $paragraph_id, $content ) {
    $closing_p = '';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
 
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
 
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }
     
    return implode( '', $paragraphs );
}
//Aşağıdaki 5. paragraftan sonra görünecek olan ilk reklam kodu yer alıyor
 
add_filter( 'the_content', 'yazi_icine_reklam_ekleme_fonksiyonu_ikinci' );
 
function yazi_icine_reklam_ekleme_fonksiyonu_ikinci( $content ) {
     
    $ad_code = 'İkinci reklam.';
 
    if ( is_single() && ! is_admin() ) {
        return reklam_kodunu_yerlestirme_fonk_ikinci( $ad_code, 5, $content );
    }
     
    return $content;
}
  
function reklam_kodunu_yerlestirme_fonk_ikinci( $insertion, $paragraph_id, $content ) {
    $closing_p = '';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
 
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
 
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }
     
    return implode( '', $paragraphs );
}