問題描述

TinyMCE 編輯器插入<p>&nbsp;</p> 而不是<br> 標籤,當我按我的文本中輸入新行。

如何強制 TinyMCE 在 WP 替換換行<br> 而不是<p>&nbsp;</p>

最佳解決方案

GavinR 提出的答案是正確的。

不過,您不需要安裝建議的 plug-in 。只需添加這個迷你插件即可設置:

<?php
defined( 'ABSPATH' ) OR exit;
/* Plugin Name: TinyMCE break instead of paragraph */
function mytheme_tinymce_settings( $tinymce_init_settings ) {
    $tinymce_init_settings['forced_root_block'] = false;
    return $tinymce_init_settings;
}
add_filter( 'tiny_mce_before_init', 'mytheme_tinymce_settings' );

現在按 Enter 鍵,將插入<br> 標籤,而不是創建新的段落。但請注意,如果您創建了兩個連續的換行符,則由於應用於您的帖子內容的 wpautop 過濾器,文本仍將被分割為段落。您需要先刪除此過濾器,並創建一個新的過濾器,該過濾器將用<br> 標籤替換所有換行符。在 functions.php 中添加如下內容以在模板中顯示<br> 標籤:

remove_filter ( 'the_content', 'wpautop' );
add_filter ( 'the_content', 'add_newlines_to_post_content' );
function add_newlines_to_post_content( $content ) {
    return nl2br( $content );
}

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。