Sk8er
@Sk8er
Жесток, опасен, вспыльчив. Щеголь.

Как убрать лишний тэг P после вставки AdSense?

Добрый день.

Сегодня обнаружил такую особенность. В общем на wordpress-сайте использую следующий код для вставки AdSense после 1-го абзаца:

add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
		if( !is_single() )
			return $content;
			$paragraphAfter = 1; //Введите номер абзаца, после которого вставляем.
			$content = explode ( "</p>", $content );
			$new_content = '';
				for ( $i = 0; $i < count ( $content ); $i ++ ) {
					if ( $i == $paragraphAfter ) {
					$new_content .= '<div class="alignleft" style="height: 250px;width: 300px;margin: 0px 10px 0px 0px;padding: 10px;background: #D0DCE7;">
					<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
					<ins class="adsbygoogle"
						style="display:inline-block;width:300px;height:250px"
						data-ad-client="ca-pub-8519272212979780"
						data-ad-slot="7882244559"></ins>
					<script>
					(adsbygoogle = window.adsbygoogle || []).push({});
					</script>
					</div>';
					}
			$new_content .= $content[$i] . "</p>";
			}
			return $new_content;
	}


Всё вроде работает, но вот какой нюанс - в конце статьи лишний раз добавляется тег "p".

Посмотреть можно вот тут: ubuntovod.ru/ubuntu-news/ubuntu-14-10.html.

Ну и вот в самом коде демонстрация:

da52ac29bd3d4c569f8be2994b4c2944.png
  • Вопрос задан
  • 2404 просмотра
Решения вопроса 1
Sk8er
@Sk8er Автор вопроса
Жесток, опасен, вспыльчив. Щеголь.
Проблема решилась. Нужно было заменить
$new_content .= $content[$i]. "</p>";
На:
$new_content .= $content[$i];
if($i < count($content)-1) $new_content .= "</p>";

За решение спасибо автору данного уютного бложека: fe-nix.ru. (:
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы