我在管理员上创建了一个wp_editor
的自定义插件,现在当我在Text
视图标签中的<br>
选项卡中添加一些html标签时,点击{{ 1}}标签..当我回到Visual
标签时,<br>
转换为<p> </p>
。
这是我的PHP代码:
Text
这是发生的事情:
我将$html_value = '<h1>test</h1><br> ....';
$settings = array( 'textarea_name' => 'al_srms_fileform_content', 'media_buttons' => true, 'wpautop' => false );
wp_editor($html_value, 'mycustomeditor0pdf', $settings );
标记放在<br>
标签上。
我点击了Visual
标签,Text
消失了,取而代之的是<br>
有没有办法让<p> </p>
保持<br>
?
答案 0 :(得分:0)
您遇到的问题是您的Themes functions.php文件中的wpautop过滤器功能的结果。
要禁用此功能,请将以下内容添加到主题目录中的functions.php文件的行中:
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
参考:https://codex.wordpress.org/Function_Reference/wpautop(Wordpress Codex)
答案 1 :(得分:0)
我希望这会对你有所帮助。但是,您不需要安装建议的插件。只需添加此迷你插件即可设置:
<?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 );
}