1、安装【TinyMCE Advanced】插件
2、进入【后台】–【设置】–【TinyMCE Advanced】把这个选项勾上保存即可。
If you are familiar with the formatting of posts and pages in WordPress, you may have already noticed that WordPress separates paragraphs with automatically inserted <p> tags. However, this can sometimes lead to problems. The good news is… this automatic formatting can be deactivated by inserting simple code snippets.
Wpautop is the name of the function that automatically encloses double-line breaks with a <p> and </ p>. WordPress uses this feature in all post types (posts, pages and custom post types)- for both content and shortcode generated texts. Hence, some of the editing jobs such as working with a shortcode-driven grid system in the WYSIWYG editor can be quite problematic.
Disable Automatic P-tags
The wpautop filter can be disabled by following a few simple steps. The following lines need to be inserted in the functions.php of your theme (child theme is preferred). Once correctly inserted, WordPress will not automatically insert the p-tag to posts and excerpts.
remove_filter (‘the_content’, ‘wpautop’); remove_filter (‘the_excerpt’, ‘wpautop’);
Disable Wpautop on Certain Pages
If you want to disable this feature on a specific page only, use the following code snippet instead. In line 3 you should specify the name or the ID of the particular page.
add_filter ('the_content', 'specific_no_wpautop', 9); function specific_no_wpautop ($ content) { if (is_page ('name of page')) { remove_filter ('the_content', 'wpautop'); return $ content; } else { return $ content; } }
Disable Wpautop in Custom Post Types
Use the following code snippet to disable automatic p-tags in custom post types:
add_filter( 'the_content', 'disable_wpautop_cpt', 0 ); function disable_wpautop_cpt( $content ) { 'custom_post_slug' === get_post_type() && remove_filter( 'the_content', 'wpautop' ); return $content; }
Disable Wpautop and List Exceptions
Here’s an enhanced version of the code snippet that allows you to list exceptions if there’s any:
/** * Allow or remove wpautop based on criteria */ function conditional_wpautop($content) { // true = wpautop is ON unless any exceptions are met // false = wpautop is OFF unless any exceptions are met $wpautop_on_by_default = true; // List exceptions here (each exception should either return true or false) $exceptions = array( is_page_template('page-example-template.php'), is_page('example-page'), ); // Checks to see if any exceptions are met // Returns true or false $exception_is_met = in_array(true, $exceptions); // Returns the content if ($wpautop_on_by_default==$exception_is_met) { remove_filter('the_content','wpautop'); return $content; } else { return $content; } } add_filter('the_content', 'conditional_wpautop', 9);
Remove Empty Paragraphs Already Added by WordPress
Copy-paste this into your functions.php
file (source – GitHub):
/** * Remove empty paragraphs created by wpautop() * @author Ryan Hamilton * @link https://gist.github.com/Fantikerz/5557617 */ function remove_empty_p( $content ) { $content = force_balance_tags( $content ); $content = preg_replace( '#<p>s*+(<brs*/*>)?s*</p>#i', '', $content ); $content = preg_replace( '~s?<p>(s| )+</p>s?~', '', $content ); return $content; } add_filter('the_content', 'remove_empty_p', 20, 1);
Disable Automatic Paragraph Tags with Plugin
Here’s a few plugins that offer you can use to disable p tags:
- Toggle wpautop – https://wordpress.org/plugins/toggle-wpautop/
- Disable Automatic P Tags – https://wordpress.org/plugins/disable-automatic-p-tags/
- Empty P Tag – https://wordpress.org/plugins/empty-p-tag/
Video: How to Remove P Tags Around Images in WordPress Posts From Source Code