Hai teman-teman, saya hanya ingin mencegah pembuatan paragraf kosong di postingan wordpress saya. Itu terjadi cukup sering ketika mencoba ruang konten secara manual.
Saya tidak tahu mengapa ini tidak berpengaruh?
/*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');
edit / perbarui:
Sepertinya masalahnya adalah ini:
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');
saya melakukan ini berfungsi sendiri untuk menyaring semacam pola kode pendek di posting dan halaman saya. Meskipun di backend saya posting sepenuhnya dilakukan tanpa paragraf dan jarak yang tidak perlu hasilnya terlihat seperti ini:
<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>
ada ide dari mana p kosong ini berasal?
wpautop
melakukannya, mis.add_filter('the_content', 'qanda', 7 );
..Jawaban:
WordPress akan secara otomatis memasukkan
<p>
dan memberi</p>
tag yang memisahkan konten dalam posting atau halaman. Jika, karena alasan tertentu, Anda ingin atau perlu menghapus ini, Anda dapat menggunakan salah satu dari potongan kode berikut.Untuk sepenuhnya menonaktifkan filter wpautop, Anda dapat menggunakan:
Jika Anda masih ingin ini berfungsi coba tambahkan nilai prioritas nanti ke filter Anda seperti:
sumber
Saya memiliki masalah yang sama dengan yang Anda miliki. Saya hanya melakukan ... katakanlah ... bukan solusi yang sangat indah, tetapi itu berfungsi dan sejauh ini satu-satunya solusi yang saya miliki. Saya menambahkan sedikit garis JavaScript. Perlu jQuery, tapi saya yakin Anda bisa mengetahuinya tanpa.
Ini JS kecil saya:
Ini bekerja untuk saya!
sumber
p:empty { display:none; }
<p></p>
tetapi tidak berhasil<p>\n</p>
.Saya tahu ini sudah ditandai 'terpecahkan' tetapi hanya untuk referensi, inilah fungsi yang melakukan persis apa yang Anda inginkan tanpa harus menambahkan markup ke pos. Masukkan saja ini di functions.php tema Anda:
Ini dari intisari ini: https://gist.github.com/1668216
sumber
force_balance_tags
ketika bertemu<
karakter dalam situasi tertentu. Lihat tiket [9270] ( core.trac.wordpress.org/ticket/9270 ) untuk detailnya.Cukup gunakan CSS
sumber
di dalam tag <p> ini tidak akan berfungsi.Anda bisa menjalankan filter Anda sebelum
wpautop
hook jahat itu hidup dan mengacaukan markup.Dengan begitu, Anda telah mengonversi apa yang Anda butuhkan saat terhubung, yang memang membantu dalam beberapa kasus.
sumber
Pendekatan yang sama dari 2 jawaban sebelum saya, tetapi regex yang diperbarui, karena itu tidak bekerja untuk saya.
regex:
/<p>(?:\s| )*?<\/p>/i
(grup bukan tangkap yang mencari sejumlah spasi putih atau
p-tag di dalam, semua case insenstive.sumber
Saya menemukan ini aneh, tetapi sebenarnya menelepon
the_content()
akan memasukkan paragraf dengan cara yang Anda jelaskan. Jika Anda menginginkan kode html, pada dasarnya seperti Anda memasukkannya (sama dengan "view HTML" saat mengedit), kemudian gunakanget_the_content()
yang mengembalikan konten tanpa pemformatan dan tag paragraf.Karena mengembalikannya, pastikan Anda menggunakan sesuatu seperti:
Lihat juga: http://codex.wordpress.org/Function_Reference/get_the_content
sumber
Ini akan secara rekursif menghapus semua tag html kosong dari string
Pola diambil dari http://codesnap.blogspot.in/2011/04/recursively-remove-empty-html-tags.html
sumber
Jika Anda memiliki
<p>
tag dengan spasi kosong di konten, buka posting atau halaman Anda yang suntingnya tidak dalam gaya visual.Anda akan menemukan beberapa
di sana .. Hapus dan<p>
tag kosong akan hilang.sumber
Agar hanya memiliki konten html tanpa
tag kita dapat menggunakan loop berikut untuk hanya menempatkan html tanpa memformat posting atau halamansumber