WordPressの厄介な機能の一つに「自動整形」ってのがある。
プラグインで自動整形をOFFにすることができるのだが、今回はプラグインを使わず、自動整形をOFFにしたい。
WordPressのテキストエディタには段落を意味する<p>が存在しないので、テキストエディタで<p></p>がきちんと挿入されるようにもしなきゃ。
厄介なWordPressの自動整形
WordPressの自動整形機能は、投稿の編集でビジュアルからテキストに編集画面を切り替えると、<p>が消えたり、勝手に</br>が挿入されたり、果ては半角が全角になったりする。
そもそも、WordPressにはテキストエディタにも<p>がない。
プラグインじゃダメなの?
WordPressの自動整形をOFFにするため、「PS Disable Auto Formatting」というプラグインを使っていいた。
それ以前は他のプラグインを使っていたのだが、WordPressのバージョンアップに伴って、ビジュアルとテキストの切り替えができなくなり、「PS Disable Auto Formatting」を利用するようになった。
いったん、プラグインが機能しなくなって、自動整形が機能し始めると、ものすごく厄介。
すべての記事が、段落なしになってしまう。
自動整形をOFFにするプラグインを使っていて、そのプラグインに不都合が起きて自動整形が機能し始めると、すべての記事が、段落なしになってしまう。
修正が大変!
いずれは、プラグインに頼らないようにしたい。
とは思っていたが、勇気が出なかった。
WordPressの自動整形はfanctions.phpで制御する
WordPressの自動整形は、fanctions.phpにコードを書き込むことでOFFにできるらしい。
fanctions.phpを編集する時には、万が一に備えて、fanctions.phpのバックアップを取ってから。
FTPソフトなどで、サーバーから、PCにダウンロードしておく。
WordPressの自動整形をOFFにする
以下のコードをfanctions.phpに付け加える。
add_action('init', function() {
remove_filter('the_content', 'wpautop');//本文のタグ整形
remove_filter('the_excerpt', 'wpautop');//抜粋のタグ整形
remove_filter('the_title', 'wptexturize');//タイトルの記号変換
remove_filter('the_content', 'wptexturize');//本文の記号変換
remove_filter('the_excerpt', 'wptexturize');//抜粋の記号変換
remove_filter('the_editor_content', 'format_for_editor');//エディタの整形
});
add_filter('tiny_mce_before_init', function($init) {
$init['wpautop'] = false;
$init['apply_source_formatting'] =true;
return $init;
});
fanctions.phpはWordPressの[ダッシュボード]→[外観]→[テーマの編集]の[fanctions.php]で編集してもよいし、サーバー上の[fanctions.php]を編集してもOK。
テキストエディタに段落ボタンを追加する
テキストエディタに段落ボタンを追加するには、[fanctions.php]に下の記述を追加する。
function appthemes_add_quicktags() {
if (wp_script_is('quicktags')){
?>
<script type="text/javascript">
QTags.addButton( 'eg_paragraph', 'p', '<p>', '</p>', 'p', '段落タグ', 1 );
</script>
<?php
}
}
add_action( 'admin_print_footer_scripts', 'appthemes_add_quicktags' );
テーマを変更したら、fanctions.phpのコードも追加
fanctions.phpはそれぞれのテーマの中にある。
テーマを変更したら、fanctions.phpに書き込んだコードも追加して書き込まないと、ダメ!
また、テーマが更新になった場合、fanctions.phpも上書きされて消えてしまうので、子テーマを作って、子テーマのfanctions.phpにコードを張り付けないと、これまた、「ある日突然、WordPressサイトの表示がおかしくなった」ということになる。
WordPressの子テーマの作り方は、「functions.phpを含めたwordpressテーマの子テーマ化」を見てみて。
ここら辺、プラグインなら、テーマを変えても機能してくれるから便利かも。
コメント