J'ai créé un style TinyMCE
dropdown
pour l'éditeur TinyMCE
WordPress.
Les formats apparaissent comme prévu dans l'éditeur, mais lorsque la liste déroulante est étendue pour choisir un style, ils sont désactivés. Y aurait-il une raison à cela? Mon code est attaché ci-dessous.
function new_mce_button($buttons) {
array_unshift($buttons, 'styleselect');
return $buttons;
}
add_filter('mce_buttons_2', 'new_mce_button');
/**
* Callback function to filter the MCE settings
*/
function custom_formats( $init_array ) {
$style_formats = array(
array(
'title' => 'White Button',
'selector' => 'a',
'classes' => 'cta wht',
),
array(
'title' => 'Grey Button',
'selector' => 'a',
'classes' => 'cta gry'
),
array(
'title' => 'Light Blue Button',
'selector' => 'a',
'classes' => 'cta lblue'
),
array(
'title' => 'Dark Blue Button',
'selector' => 'a',
'classes' => 'cta dblue'
),
);
$init_array['style_formats'] = json_encode( $style_formats );
return $init_array;
}
add_filter( 'tiny_mce_before_init', 'custom_formats' );
Comme l'a souligné @karun, le texte devait tout d'abord être transformé en hyperlien, après quoi les formats sont devenus actifs.
Changer les valeurs du tableau en
array(
'title' => 'Grey Button',
'block' => 'div',
'classes' => 'cta gry'
),
fait le style disponible en permanence.