WordPressでビジュアルエディタが表示されない問題
とある案件でサーバー移管が行われた際、クライアントから「管理画面でビジュアルエディタが表示されず選択できません。」と言われてしまいゴニョゴニョしたので以下備忘録。
このタイミングで発生した問題ならサーバー移管が原因かと思い、サーバー周りに原因が無いか調べてみるとあっさり解決しました。
結論から言うと、原因はCloudFrontにあります。
どうやらビジュアルエディタの表示・非表示はUserAgentを元に振り分けられ、PCからのアクセスでない場合は非表示になるそう。
CloudFrontを導入する場合、特に設定を行わなければUserAgent文字列が Amazon CloudFront
となり、PCからのアクセスだと認識してくれません。
下記参照。
wordpress.org
ということで、 UAが Amazon CloudFront
でも true
を返すよう functions.php
に以下を追記し解決!
add_filter( 'user_can_richedit', function( $wp_rich_edit ) { if ( !$wp_rich_edit && ( get_user_option( 'rich_editing' ) == 'true' || !is_user_logged_in() ) && isset( $_SERVER[ 'HTTP_USER_AGENT' ] ) && stripos( $_SERVER[ 'HTTP_USER_AGENT' ], 'amazon cloudfront' ) !== false ) { return true; } return $wp_rich_edit; } );