Wordpress3.9にアップデートしたら、TinyMCEのカスタマイズが無効になった

Wordpressを3.9にアップデートしたら、tinyMCEに組み込んでいたカスタマイズが使えなくなった。編集画面に自作クラスのプルダウンメニューを追加していたのが、消えてしまっている。非表示になっただけかな?と、あれこれ探したけれど、本当に消えたっぽい。

従来はfunction.phpに以下のようなコードを足すと、自作クラスを投稿記事に追加できるプルダウンメニューが出来ていた。

function my_tiny_mce_before_init( $init_array ) {
//自作クラスをプルダウンメニューで追加
$init_array['theme_advanced_styles'] = "参照リンク(左寄)=reference;参照リンク(右寄)=reference2;アロー=inline_arrow;";

return $init_array;
}
add_filter( 'tiny_mce_before_init', 'my_tiny_mce_before_init' );


同様の事案がないかググると、Wordpress3.9へのアップグレードと同時にTinyMCEが4.x系になり、その仕様変更で、カスタマイズが無効になったということらしい。


参考:

http://wordpress.stackexchange.com/questions/141534/how-to-customize-tinymce4-in-wp-3-9-the-old-way-for-styles-and-formats-doesnt


上記参考そのままに、以下で解決。

function my_tiny_mce_before_init( $init_array ) {
//書式プルダウンメニューのカスタマイズ
$init_array['block_formats'] = '段落=p;見出し3=h3;見出し4=h4;見出し5=h5;見出し6=h6';
//自作クラスをプルダウンメニューで追加
$style_formats = array (
	array( 'title' => '参照リンク(左寄)', 'block' => 'p', 'classes' => 'reference' ),
	array( 'title' => '参照リンク(右寄)', 'block' => 'p', 'classes' => 'reference2' ),
	array( 'title' => 'アロー', 'inline' => 'a', 'classes' => 'inline_arrow' )
	);

$init_array['style_formats'] = json_encode( $style_formats );

$init['style_formats_merge'] = false;

return $init_array;
}
add_filter( 'tiny_mce_before_init', 'my_tiny_mce_before_init' );

要素の種類まで、きっちり指定するように変わっている。今までのアバウトな指定でもそれなりに使えていたけど、曖昧さを嫌っての変更?