Wordpress'te yazı içine reklam ekleme | Eklentisiz! |
34 Mesajlar | 10.566 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 );
}