This is default wordpress add_editor_style function:
function add_editor_style( $stylesheet="editor-style.css" ) {
add_theme_support( 'editor-style' );
if ( ! is_admin() )
return;
global $editor_styles;
$editor_styles = (array) $editor_styles;
$stylesheet = (array) $stylesheet;
if ( is_rtl() ) {
$rtl_stylesheet = str_replace('.css', '-rtl.css', $stylesheet[0]);
$stylesheet[] = $rtl_stylesheet;
}
$editor_styles = array_merge( $editor_styles, $stylesheet );
}
As you see if ( ! is_admin() ) return;
is there and basically we cant add custom styles to frontend wp_editor.. What is proper solution for it?
Here is my solution:
add_filter('the_editor_content', "firmasite_tinymce_style");
function firmasite_tinymce_style($content) {
add_editor_style('assets/css/custom.css');
// This is for front-end tinymce customization
if ( ! is_admin() ) {
global $editor_styles;
$editor_styles = (array) $editor_styles;
$stylesheet = (array) $stylesheet;
$stylesheet[] = 'assets/css/custom.css';
$editor_styles = array_merge( $editor_styles, $stylesheet );
}
return $content;
}
Live Example: http://unsalkorkmaz.com/firmasite-social-buddypress-bbpress-theme-based-on-bootstrap/
Check comments wp_editor.. its loading bootstrap.css and google fonts etc..
This code is extra:
// Removing wordpress version from script and styles
add_action("wp_head", "firmasite_remove_version_from_assets",1);
function firmasite_remove_version_from_assets(){
function remove_cssjs_ver( $src ) {
if( strpos( $src, '?ver=" ) )
$src = remove_query_arg( "ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 999 );
}
Its removing version from styles and scripts. So browser wont load same style double times.