Je crée une page d'options personnalisées et une textarea transformée en un éditeur TinyMCE à l'aide de wp_editor.
TinyMCE s'affiche correctement, mais il y a une rupture lorsque j'inclus des crochets dans le $ id. Voici le code que j'utilise pour le rappel de la fonction add_settings_field:
function px_wp_editor($args){
$options = get_option('theme_options');
$value = $options['px_wp_editor'];
$id = 'theme_options[px_wp_editor]';
extract( $args );
$class = (!empty($class))?$class:'';
$settings = array(
'textarea_rows' => 12,
'textarea_name' => $id,
'editor_class' => $class,
'media_buttons' => true,
'tinymce' => true
);
wp_editor($value, $id, $settings );
}
Si j’ai supprimé les crochets de la valeur de $ id, alors cela s’affiche correctement. Cependant, en raison de la façon dont je récupère les valeurs à l'aide de get_option, je dois appeler "textarea_name" tel qu'il est actuellement, entre crochets.
La première image ci-dessous montre son apparence lorsque vous utilisez le nom entre crochets (les icônes complètes ne s'affichent pas correctement et il n'y a pas de boutons Visual/Text.
La deuxième photo est la suivante.
Vous ne pouvez pas mettre de crochets comme identifiant d'éditeur. mais vous pouvez changer le nom de textarea par.
wp_editor('','px_wp_editor',array('textarea_name' => 'theme_options[px_wp_editor]'));
la partie importante est, "id" et "textarea_name" sont différents.
Je ne suis pas en mesure de tester cela maintenant, mais essayez ceci:
$id = htmlentities('theme_options[px_wp_editor]');