Ей, хлопці, я просто хочу запобігти створенню порожніх абзаців у своєму дописі wordpress. Це трапляється досить часто при спробі вручну розмістити вміст.
Я не знаю, чому це не діє?
/*Remove empty paragraph tags from the_content*/
function removeEmptyParagraphs($content) {
/*$pattern = "/<p[^>]*><\\/p[^>]*>/";
$content = preg_replace($pattern, '', $content);*/
$content = str_replace("<p></p>","",$content);
return $content;
}
add_filter('the_content', 'removeEmptyParagraphs');
редагування / оновлення:
Здається, проблема в цьому:
function qanda($content) {
// filters for [q=some question] and [a=some answer]
// wraps it inside of <div class="qanda"><div class="question"> </div><div class="answer"> </div></div>
$content = preg_replace('/\[q=(.+?)].+?\[a=(.+?)]/is', '<div class="qanda"><div class="question">$1</div><div class="answer">$2</div></div>', $content);
return $content;
}
add_filter('the_content', 'qanda');
Я сам виконував цю функцію, щоб відфільтрувати такий тип короткого коду у своїх публікаціях та на сторінках. Навіть незважаючи на те, що в моєму сервісі публікація повністю виконана без абзаців та зайвих проміжків, результат виглядає так:
<div class="entry">
<p></p>
<div class="qanda">...</div>
<p></p>
<p></p>
<div class="qanda">...</div>
<p></p>
<p></p>
<div class="qanda">...</div>
</div>
будь-яка ідея, звідки взявся цей порожній р?
wpautop
це стане, наприклад, наприклад. add_filter('the_content', 'qanda', 7 );
..