DIY Главная Медиа Logo

Конечная сайт для проектирования и создания вашей установке домашнего кинотеатра и Привет-Fi.

5Wordpress ЛоготипAdsense объявления выше последнем абзаце поста

Возможно, вы заметили, что мы изменили способ показа наших рекламных объявлений. Мы хотели небольшие текстовые объявления в нижней части каждой статьи, который будет добавлен автоматически. Это заняло немного возиться, но в конце концов мы разработали решение, которое работает хорошо и, похоже, не сильно сокращает время обработки страниц. Просто добавьте следующий код в functions.php вашей темы (не забудьте изменить идентификаторы AdSense) 

Обновлено 12 ноября 2017 года, так как код не работал правильно, как было показано ранее. Я также добавил 2 другие функции, которые я использую, один, чтобы вставить рекламу через шорткод, и еще один, чтобы добавить объявление, где больше удаляется, когда сообщение отображается полностью

/************************************************************************\
* Adsense Короткий код для вставки 2 небольшие объявления в любом месте через шорткод *
\************************************************************************/
функция Google_Adsense( $ATTS, $содержание = нуль ) {
   Возвращение "<Класс дел ="а" стиль ="выравнивания текста: центр;"><дел ID ="Google-1"></дел><р стиль ="Чисто: оба"></р></дел>';
}
add_shortcode('Google_adsense', 'Google_Adsense');




/******************************************\
* Показать 2 маленькие AdSense объявления на более теге *
\******************************************/
add_filter('Контент', 'Adsense_added_at_more_tag');

// Эта функция заменить более тег с AdSense кодов.
функция adsense_added_at_more_tag($текст) {
если( холост() ) :
$ads_text = '<дел ID ="Google" класса ="а" стиль ="выравнивания текста: центр;"><дел ID ="Google-1"></дел><р стиль ="Чисто: оба"></р></дел>';
$Pos1 = StrPos($текст, '<продолжительность ID ="Больше-');
//"
если($Pos1 === FALSE) $текст = $ ads_text . $текст;
еще
{
$pos2 = StrPos($текст, '</пролет>', $Pos1);
$текст1 = зиЬзЬги($текст, 0, $Pos1);
$текст2 = зиЬзЬги($текст, $pos2 + 7);
$текст = $ text1 . $ads_text . $text2;
}
ENDIF;
возвращение $ текст;
}




/*******************************************************\
* Показать один большой ADSENSE объявление выше последнего пункта *
\*******************************************************/
add_filter('Контент', 'Gads_added_above_last_para');

функция gads_added_above_last_para($ytext) {
если( холост() ) :
$yads_text = '<Класс дел ="а" стиль ="выравнивания текста: центр;"><дел ID ="Google-2"></дел><р стиль ="Чисто: оба"></р></дел>';
если($ypos1 = strrpos($ytext, '</р>')){
$ytext1 = зиЬзЬги($ytext, 0, ($ypos1 + 4));
$ytext2 = зиЬзЬги($ytext, ($ypos1 + 4));
$ytext = $ ytext1 . $yads_text . $ytext2;
}
ENDIF;
возвращение $ ytext;
}

оставьте ответ

5 Комментарии

SJСара Джонс

Я не знаю, но ваш код не работал в моем случае. Так, Я заменил его другим кодом. Если кто-то еще сталкивается с той же проблемой, Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense..

функция insert_ad_block( $текст ) {

если ( холост() ) :

$Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense.;
$split_by = "n";
$Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense. 2; //Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense.

// Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense.
$абзацы = взорваться( $Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense., $текст);

// если элементы массива меньше, чем $insert_after, установите точку вставки в конце
$Len = кол( $абзацы );
если ( $только < $insert_after ) $insert_after = $ Len;

// вставить $ads_text в массив в указанной точке
array_splice( $абзацы, $insert_after, 0, $ads_text );

// цикл через массив и строку сборки для вывода
для каждого( $абзацы как $paragraph ) {
$новый_текст .= $абзац;
}

возвращение $ new_text;

ENDIF;

возвращение $ текст;

}
add_filter('Контент', «insert_ad_block»);

Ответить
МиссисипиМэтью Снайдер

Есть ли способ сделать это сказать после 2nd В пункте а перед последней?

Ответить
JSДжон Скейф

Абсолютно. Вам просто нужно будет немного подправить код. Я использую strrpos которая находит последнее вхождение <p>
Если вы хотели найти второе вхождение <p> заменить строку 13 из кода выше ...

если($Pos1 = StrPos($текст, '<р>', strpos($текст, '<р>') + 3)){
Ответить
CКрис

Отличная работа человек. Большое спасибо. Есть ли у вас идеи, как разместить горизонтальную линию над и под рекламным блоком??

Ответить
JSДжон Скейф

Конечно. Добавить пару <ч />'Ы - 1 в начале значения $ ads_text и другого в конце.
E.g. заменять

$ads_text = '<Класс дел ="а" стиль ="выравнивания текста: центр;"><Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense."текст/javascript"><!--
            текст/javascript "текст/javascript-0754629982287605";
            /* текст/javascript */            текст/javascript "5138459326";
            текст/javascript 468;
            текст/javascript 15;
            //-->
            </сценарий>
            <Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense."текст/javascript" SRC ="https://текст/javascript">
            </сценарий></дел>';

С

$ads_text = '<ч /><Класс дел ="а" стиль ="выравнивания текста: центр;"><Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense."текст/javascript"><!--
            текст/javascript "текст/javascript-0754629982287605";
            /* текст/javascript */            текст/javascript "5138459326";
            текст/javascript 468;
            текст/javascript 15;
            //-->
            </сценарий>
            <Возможно, вы заметили, что мы изменили способ отображения объявлений AdSense."текст/javascript" SRC ="https://текст/javascript">
            </сценарий></дел><ч />';
Ответить