1. TOP
  2. Wordpress
  3. WordPressで自動で挿入されてしまうpタグを消す

WordPressで自動で挿入されてしまうpタグを消す

目次

WordPressにはpタグを自動挿入してくれる機能(auto paragraph)があるのですが、
これが結構厄介です。
記事内でプログラムなどを説明するときや、結果でCSSを導入するときなど、勝手にpタグが入ってしまうとHTMLやCSSが効かなくなったりしてしまうのです。 プラグインでも無効にできますが、今回は手動での対処方法を書きます。
Pタグとはこれ
<p>このタグのこと</p>

個別ページのみでPタグを削除する方法

個別ページ(single.phpやpage.phpなど)の先頭に下記を記述する方法

<?php remove_filter('the_content', 'wpautop'); ?>
<?php the_content(); ?>


functions.phpに記述する方法

自動整形を無効にする投稿タイプを
6行目
$arr_types = array('投稿タイプ');
このような感じで記述してください。
add_filter('the_content', 'wpautop_filter', 9);
function wpautop_filter($content) {
    global $post;
    $remove_filter = false;
      
    $arr_types = array('page'); //ここを変更
    $post_type = get_post_type( $post->ID );
    if (in_array($post_type, $arr_types)) $remove_filter = true;
      
    if ( $remove_filter ) {
        remove_filter('the_content', 'wpautop');
        remove_filter('the_excerpt', 'wpautop');
    }
      
    return $content;
}



スポンサードリンク



全ての投稿でPタグを削除する方法

functions.phpに記述する方法

remove_filter(‘the_content’, ‘wpautop’);
remove_filter(‘the_excerpt’, ‘wpautop’);


テーマ全体でPタグを削除する方法

functions.phpに記述する方法


add_action('init', function() {
remove_filter('the_excerpt', 'wpautop');
remove_filter('the_content', 'wpautop');
});
add_filter('tiny_mce_before_init', function($init) {
$init['wpautop'] = false;
$init['apply_source_formatting'] = ture;
return $init;
});


HTMLが勝手に消されることのみに対応する場合(pタグ自動挿入は有)

これはちょっと変化球的な感じです。
add_action('init', function() {
    remove_filter('the_content', 'wpautop');
    remove_filter('the_content', 'wptexturize');
    remove_filter('the_excerpt', 'wpautop');
    remove_filter('the_excerpt', 'wptexturize');
    remove_filter('the_title', 'wpautop');
    remove_filter('the_title', 'wptexturize');
    remove_filter('the_editor_content', 'wp_richedit_pre');
});
 
add_filter('tiny_mce_before_init', function($init) {
    $init['wpautop'] = false;
    $init['apply_source_formatting'] = ture;
    return $init;
});


WordPress開発のお供に・・書籍はいかがでしょう


スポンサードリンク

コメントを書き込む

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。