Вывод рекламы после определенного абзаца

Есть код вывода рекламы, он отсчитывает определенное количество тегов

и вставляет рекламу.

// Реклама после 6 абзаца
add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
		if( !is_single() )
			return $content;
			$paragraphAfter = 6; //Введите номер абзаца, после которого вставляем.
			$content = explode ( "</p>", $content );
			$new_content = '';
				for ( $i = 0; $i < count ( $content ); $i ++ ) {
					if ( $i == $paragraphAfter ) {
					$new_content .= 'Рекламный код';
					}
					global $post;
 if ($post->post_type == 'post') {
 $new_content .= $content[$i] . "</p>";}
			}
			return $new_content;
	}

Но есть проблема, если внутри контейнера статьи используется сложное оформление статей, например:

<article>
	<p></p>
	<p></p>
	<p></p>
	<div>
		<p></p>
		<p></p>
	</div>
	<blockquote>
		<p></p>
		<p></p>
	</blockquote>
</article>

рушится верстка. Для этого есть необходимость исключить подсчет

из других контейнеров внутри

. Как это можно сделать?