Возможно, вы заметили, что мы изменили способ показа наших рекламных объявлений. Мы хотели небольшие текстовые объявления в нижней части каждой статьи, который будет добавлен автоматически. Это заняло немного возиться, но в конце концов мы разработали решение, которое работает хорошо и, похоже, не сильно сокращает время обработки страниц. Просто добавьте следующий код в 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; }
Я не знаю, но ваш код не работал в моем случае. Так, Я заменил его другим кодом. Если кто-то еще сталкивается с той же проблемой, Возможно, вы заметили, что мы изменили способ отображения объявлений 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 В пункте а перед последней?
Абсолютно. Вам просто нужно будет немного подправить код. Я использую
strrpos
которая находит последнее вхождение<p>
Если вы хотели найти второе вхождение
<p>
заменить строку 13 из кода выше ...Отличная работа человек. Большое спасибо. Есть ли у вас идеи, как разместить горизонтальную линию над и под рекламным блоком??
Конечно. Добавить пару <ч />'Ы - 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"> </сценарий></дел><ч />';