WordPress 技巧:優先執行 Shortcode,移除 Shortcode 中自動添加的 br 和 p 標簽
我們在使用 WordPress Shortcode API 開發插件的時候,有個比較麻煩的問題,就是 WordPress 會自動在 shortcode 內添加 br 或者 p 標簽,這樣可能會打亂你的原先預想的 HTML 結構和布局。
造成這個問題的原因是 WordPress 默認的日志內容處理流程中,wpautop(將回車轉換成 p 或者 br 標簽的函數)是在 Shortcode 前面運行的。所以我們的解決方案也是非常簡單,改變它們執行的順序,在當前主題的 functions.php
文件中添加:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
該功能已經整合到 WPJAM Basic 插件中,現已免費提供下載,你只需要勾選下就可以優先執行 Shortcode!
這樣調整順序之后,你的 shortcode 里面的內容,就不會有自動添加的 p 或者 br 標簽,但是如果 shortcode 中部分的內容你又需要一些 p 或者 br 標簽用來換行的話,你需要自己手動在自己 shortcode 處理程序中添加 wpautop 來處理了:
function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');
Shortcode 詳細介紹和更多技巧:
- WordPress 技巧:使用 Shortcode 快速插入表格
- WordPress 技巧:只有指定的 Shortcode 存在時才載入相關腳本文件
- WordPress 技巧:判斷當前文章中是否有圖集(Gallery)
- WordPress 技巧:刪除列表頁的 Shortcode
- WordPress 技巧:使用 Shortcode 快速插入列表
- WordPress 短代碼(Shortcode)詳細介紹和使用
- WordPress 技巧:在側邊欄 Widgets 中使用 Shortcode
- WordPress 技巧:在主題的文件中使用 Shortcode
- WordPress 技巧:使用 Shortcode 方式插入視頻,并支持全平臺播放
- WordPress 技巧:防止博客內容中的 Email 地址被收集
- WordPress 技巧:使用 Shortcode 投放 Google Adsense 廣告
標簽:WordPress Shortcode WordPress 技巧