2014年4月25日
WordPress内のTinyMCEでオリジナルのコードをいじらずにpタグ問題を解決する。
ここ何週間か仕事でずっとTinyMCEを組み込んで設定しまくっており、いろいろと改造しているうちにinitの書き方やら関数の定義の方法やらを結構覚えた。
で、せっかく覚えたのだからと、仕事はまったく関係ないこのブログで利用されているWordpressも内部のエディタとして同じくTinyMCEが組み込まれているので、今までWordPressで不満だった、ビジュアルエディタで改行すると勝手に<p>タグでくくって段落にされてしまうところを初期設定でただの<br>タグで改行するようにしたのだ。
今までwebで調べた限り、WordPressのTinyMCEをカスタムする場合、テンプレートのfunction.phpやらwp-include以下のwp-tinymce.phpやらを直接書き換える方法しか見つからなかったけど、今回はプラグイン化してオリジナルのコードにまったく手を加えないようにしてみた。
設定そのものは調べればすぐわかるけど、その設定をプラグイン化したというとところに需要があるかもしれないので公開するどす。
とはいえ、javascriptのコードだと
tinyMCE.init({ force_p_newlines : false, force_br_newlines : true, forced_root_block : '', });
とたった三行書き足すだけの設定をプラグイン化www
<?php /******************************************************************************* Plugin Name:not P tag but BR tag onTinyMCE Plugin URI: http://www.dogustat.com/?p=7004 Description:WordPressのビジュアルエディタの改行時にpタグで囲まずにbrタグで改行するようにするどす。 Version: 1.0 Author: 土偶 Author URI: http://www.dogustat.com/ */ /* *******************************************************************************/ /////////////////////////////////////////////////////////////////////////////// function mce_init_filter_function($args){ $args['force_p_newlines'] = false; $args['force_br_newlines'] = true; $args['forced_root_block'] = ''; return $args; } add_filter('tiny_mce_before_init', 'mce_init_filter_function');
このコードをnotPbutBRonTinyMCE.phptとか適当な名前でWordPressのプラグインディレクトリに置いた後に有効化すればおっけー
zipでよこせという方こちら[notPbutBRonTinyMCE.zip]
ちなみにwordpressに"TinyMCE Advanced"を導入していても問題なく動いた。
同じように"tinyMCE.init()”でする設定なら、ちょいちょいっと書き足せばボタンの追加から定義まで何でもできるぞー
たすかりました。かなりはまっていたので、本当にありがとうございました。
Posted at 2018.02.7 13:03 by gatu
お役に立ちましたようで何よりです!
Posted at 2018.02.9 22:13 by 土偶