ホームページの作成や運用ノウハウについて、プロのクリエイターが情報を無料公開!

ホームページTIPS
facebook twitter mail

このサイトはコーディング初心者〜中級者向けの情報サイトです。掲載コードの転用制限はありませんが、
動作保証は行なっておりません。ご意見については、フォームからお知らせください。

wordpressに関するTips

更新日:2017.10.3

wordpressのビジュアルリッチエディターの自動変換を停止する方法

解 説

wordpressの投稿や固定ページを作るときに使う「ビジュアルリッチエディター」は、デフォルトで改行コードなどを自動的に整形する設定になっています。これはwordpress内部の「 wpautop 」関数が行っている処理で、便利な反面、使い所によっては思うようなレイアウトにできない場合も多々あります。今回はこの「自動整形」を停止する方法についてご紹介します。

1まずビジュアルリッチエディターのデフォルト設定(自動整形機能)を理解する!

							
							

 

<ビジュアルリッチエディターの自動整形機能>

 

  • ■ 先頭のスペースを自動的に削除する
  • ■ 改行コードを <br> タグに変換
  • ■ インラインタグまたは文章には <p> タグを適用
  • ■ 改行が2回続いたら <p> タグを適用

以上の処理を自動的に行います。

2ダッシュボードから自動整形機能を停止する方法

							
							

 

ダッシュボードの「ユーザー」から、「プロフィール」を選択して「ビジュアルリッチエディターを使用しない」にチェックを入れます。これでエディター画面が「テキストエディター」のみとなり、自動整形も反映されなくなります。但し「テキストエディター」ではhtmlマークアップを書いて文章を構成していく必要がありますので、htmlを理解している人向けの方法です。

3functions.phpから自動整形処理を停止する方法
//functions.php

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

functions.phpファイルに上記コードを挿入すれば、全ての投稿フォーマットで自動整形処理を停止できます。

4固定ページのみ、投稿ページのみ自動整形処理を停止する方法
//固定ページの場合には、page.phpファイル
//投稿ページの場合には、single.phpファイル に以下を記載します。

 // の前に入れます


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

これで、固定ページだけ、もしくは投稿ページだけ指定して自動整形を停止することができます。

5最後にビジュアルエディター側の自動整形も停止する
//functions.phpに以下を記載します

function override_mce_options( $init_array ) {
    $init_array['indent']  = true;
    $init_array['wpautop'] = false;

    return $init_array;
}

add_filter( 'tiny_mce_before_init', 'override_mce_options' );

これでビジュアルリッチエディター画面の自動整形表示を停止することができます。この設定だけを行うことはあまりなく、4までの設定でホームページ表示の自動整形を停止した後、より視覚的にビジュアルリッチエディターでレイアウトを整えたい場合に設定すると良いでしょう。

トップへ