moonorongo
9/19/2017 - 1:26 PM

[Configuracion de TinyMCE en Wordpress] diferentes configuraciones para editar la apariencia de tinymce #js #wordpress #tinymce

[Configuracion de TinyMCE en Wordpress] diferentes configuraciones para editar la apariencia de tinymce #js #wordpress #tinymce

<?php
/*
  Aqui forzamos que ponga un br cada vez que pulsamos enter (en vez de crear un parrafo)
  ESTO CAMBIA LA CONFIGURACION DE TODO EL TINYMCE USADO EN WORDPRESS 
  (TANTO PARA LOS POST COMO PARA EL WYSIWYG DE ACF)
*/
function change_mce_options($init){
    $init["forced_root_block"] = false;
    $init["force_br_newlines"] = true;
    $init["force_p_newlines"] = false;
    $init["convert_newlines_to_brs"] = true;
    return $init;       
}
add_filter('tiny_mce_before_init','change_mce_options');
<?php
**
 * Custom WYSIWYG 
 */
add_filter('tiny_mce_before_init', function($init) {
  /*
  *	 Estilos que aparecen en el selector Formats
  */
    $style_formats = [
        [
            'title' => 'Float Left',
            'selector' => 'img', 
            'classes' => 'float-left'
        ],
        [
            'title' => 'Float Right',
            'selector' => 'img', 
            'classes' => 'float-right'
        ],
        [
            'title' => 'Two Columns', 
            'selector' => '*', 
            'classes' => 'two-columns'
        ]
    ];
    $init['style_formats'] = json_encode( $style_formats );

  	/*
    *  Configuracion de Block formats (Headings, parrafos... )
    */
    $init['block_formats'] = "Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6";
  
    /*
    *  Hoja de estilos propia del editor (para manejar los estilos a nuestro gusto)
    */
    $init['content_css'] = get_template_directory_uri() . "/assets/styles/css/tinymce_admin.css";
    
  	/*
    *  configuracion de plugin Template
    */
    $init['templates'] = json_encode([
        [
            'title' => 'Quoted Block', 
            'description' => 'Insert Quote Template', 
            'url' => get_template_directory_uri() . '/assets/scripts/tinymce_plugins/template/templates/content2.html'
        ],
        [
            'title' => 'titl3 here', 
            'description' => 'Desc3 here', 
            'content' => 'content here'
        ],
        [
            'title' => 'titl4 here', 
            'description' => 'Desc4 here', 
            'url' => get_template_directory_uri() . '/assets/scripts/tinymce_plugins/template/templates/content4.html'
        ]
    ]);
      
    return $init;
});


// Use 'mce_buttons' for button row #1, mce_buttons_3' for button row #3
add_filter('mce_buttons_2', function ( $buttons ) {
    /*
    *  Agrega los botones (al principio) style select (Formats), table (plugin) y template(plugin)
    */
    array_unshift( $buttons, 'styleselect', 'table', 'template');
    return $buttons;
});


// register table & template plugin
add_filter( 'mce_external_plugins', function ( $plugins ) {
    $plugins['table'] = get_template_directory_uri() . '/assets/scripts/tinymce_plugins/table/plugin.min.js';
    $plugins['template'] = get_template_directory_uri() . '/assets/scripts/tinymce_plugins/template/plugin.min.js';
    return $plugins;
});