Ehi ragazzi, voglio semplicemente impedire la creazione di paragrafi vuoti nel mio post su wordpress. Ciò accade abbastanza spesso quando si tenta di spaziare manualmente il contenuto.
Non so perché questo non abbia effetto?
/*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');
Modifica / aggiornamento:
sembra che il problema sia questo:
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');
ho fatto questa funzione da solo per filtrare una specie di modello di shortcode nei miei post e nelle mie pagine. Anche se nel mio backend il post è completamente fatto senza paragrafi e spaziature non necessarie, il risultato è simile al seguente:
<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>
qualche idea da dove provenga questa p vuota?
wpautop
farlo, ad es. add_filter('the_content', 'qanda', 7 );
..