Возможно, вы заметили, что мы изменили способ показа наших рекламных объявлений. Мы хотели небольшие текстовые объявления в нижней части каждой статьи, который будет добавлен автоматически. Это заняло немного возиться, но в конце концов мы разработали решение, которое работает хорошо и, похоже, не сильно сокращает время обработки страниц. Просто добавьте следующий код в 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; }
Пожалуйста, отправьте нам свои мысли, комментируя ниже! Если вы хотите подписаться, используйте ссылку подписки в меню в правом верхнем углу.. Вы также можете поделиться этим со своими друзьями, используя приведенные ниже социальные ссылки.. Ура.
I don’t know but your code was not working in my case. Так, I replaced it with other code. If anyone else is facing the same problem, then you can use the below code.
function insert_ad_block( $текст ) {
если ( холост() ) :
$ads_text = ‘My Ad Code Here’;
$split_by = “\n”;
$insert_after = 2; //number of paragraphs
// make array of paragraphs
$paragraphs = explode( $split_by, $текст);
// if array elements are less than $insert_after set the insert point at the end
$Len = кол( $paragraphs );
если ( $только < $insert_after ) $insert_after = $ Len;
// insert $ads_text into the array at the specified point
array_splice( $paragraphs, $insert_after, 0, $ads_text );
// цикл через массив и строку сборки для вывода
для каждого( $paragraphs as $paragraph ) {
$new_text .= $paragraph;
}
возвращение $ new_text;
ENDIF;
возвращение $ текст;
}
add_filter(‘the_content’, ‘insert_ad_block’);
Есть ли способ сделать это сказать после 2й В пункте а перед последней?
Абсолютно. Вам просто нужно будет немного подправить код. Я использую
strrpos
которая находит последнее вхождение<p>
Если вы хотели найти второе вхождение
<p>
заменить строку 13 из кода выше ...если($Pos1 = StrPos($текст, '<р>', strpos($текст, '<р>') + 3)){
Отличная работа человек. Большое спасибо. Есть ли у вас идеи, как разместить горизонтальную линию над и под рекламным блоком??
Конечно. Добавить пару <ч />'Ы - 1 в начале значения $ ads_text и другого в конце.
E.g. заменять
С