2015-11-19 87 views
2

我必須通過特定的代碼禁用wpautop:WordPress的wpautop問題

remove_filter('the_content', 'wpautop'); 
remove_filter('the_excerpt', 'wpautop'); 

此功能。但我的實際問題是,它刪除了我在內容中手動使用的自定義「p」標籤。

所以問題是,當我不使用上面給出的代碼,有自動p標籤,摧毀我的網站,當我禁用它們,自定義p標籤也被禁用。

回答

1

避免wpauto問題的最簡單和最簡單的方法是瞭解如何wpautop作品,

任何純文本,或內聯元素不與塊元素包裹將被自動與對換。如果元素是塊,並且它內部沒有兩個換行符,它將不會與P以及其中的元素一起換行,空行內元素將被刪除並移除。

例如

直列

<img src="blabal.jpg">將輸出<p><img src="blabal.jpg"></p>

I am awesome將輸出<p>I am awesome</p>

<span>Really?</span>將輸出<p><span>Really?</span></p>

<div><img src="blabal.jpg"></div>將輸出<div><img src="blabal.jpg"></div>

<div>I am awesome</div>將輸出<div>I am awesome</div>

<div><span>Really?</span></div>將輸出<div><span>Really?</span></div>

<span></span>將輸出什麼,(空內聯元素將被刪除。),

我真的很喜歡wpautop,我從來沒有禁用它,我只是用DIV包裝任何內容,如果有一個元素我不wa nt有P,我也有一個短代碼,避免wpauto元素在裏面時,它有幫助,當你有一個長屁股內容,想避免自動p標記

1

這裏是修復/解決方法,我剛剛通過實驗發現。給<p>元素一個屬性(<p class>)。它甚至不必具有實際價值。 WordPress似乎認爲如果它有一個屬性,值得保留。而且,該屬性甚至不一定是實際的HTML屬性。例如,<p data-please-work>似乎工作得很好。我並不是說我必須推薦這麼做,但值得一提的是。


我剛纔自己發現了這個問題,並且尋找一個修復程序將我引向這個問題。這是一個非常令人惱怒的情況,我不明白爲什麼它會這樣。你會認爲禁用它會阻止WordPress添加自己的<p>元素 - 但是不會。它似乎試圖阻止<p>元素,期間 - 甚至你的

如果別人有另一種方式去處理這個問題,我很想知道。銀的技巧似乎有助於知道。