現在ホームページリニューアルに伴い、閲覧しづらい状態になっております。何卒ご了承ください。

WordPress でレイアウトが崩れる自動整形を回避する方法

WordPress で固定ページを作成しようと思い、コードを記述して表示を確認してみるとレイアウトが崩れている!! こんなことでお困りではありませんか?

これは、どうやら WordPress には、自動で <br><p> などが作成されてしまう機能があるからのようです。

この WordPress の自動整形を回避する方法をご紹介します。

WordPress の自動整形を回避する方法

全ての投稿に実装

全ての投稿の自動整形を回避する方法です。「functions.php」に記述するだけです。

remove_filter('the_content', 'wpautop'); // 記事の自動整形を無効にする
remove_filter('the_excerpt', 'wpautop'); // 抜粋の自動整形を無効にする

テンプレートごとに実装

次に、上記のように『全ての投稿に実装』するのではなく、『固定ページのみに実装したい』という場合について説明します。

こちらの方法だと、クライアントさんがブログを投稿するのに使用する「single.php」にはそのまま自動整形機能を残す、ということができますね。

page.php(自動整形させたくないテンプレート)

<?php remove_filter ('the_content', 'wpautop'); ?> // <?php the_content(); ?>の前に入れる

 

下記のように functions.php で制御する方法もあります。

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;
}

まとめ

実装が終わったら、特に既存のブログの場合は、レイアウトに崩れがないかチェックを忘れないようにしましょう!!

 

よかったらシェアしてね!
目次
閉じる