J'utilise beaucoup wordpress, je développe beaucoup pour cela aussi!
J'ai un site Web client que j'ai ajouté 10 boîtes de méta personnalisées à l'écran d'édition post dans functions.php. Toutes les méta-boîtes ont un éditeur utilisant wp_editor ()
Tout cela a fonctionné. Trouvez Wordpress 3.8 et 3.9, mais maintenant le site a été mis à jour pour WordPress 4. L'éditeur refuse d'afficher les onglets visuel/texte dans le volet de l'éditeur.
J'ai vérifié cela en désactivant tous les plugins sur ma copie de développement, et le problème a persisté. J'ai ensuite installé une deuxième copie de wordpress mais 3.9 et les onglets sont revenus!
Une idée pourquoi cela se passe sur WordPress 4?
Oui, selon @Nibbr Web Development, les ID d’éditeur TinyMCE ne peuvent pas être placés entre crochets. Ce qui est l'ID du champ html, nous allons donc créer un nom différent mais similaire pour l'attribut ID et continuer à utiliser le nom souhaité pour le nom du champ de la zone de texte, comme ceci.
$content = $options['textareafield'];
// editor_id cannot have brackets and must be lowercase
$editor_id = 'textareafield';
// textarea_name in array can have brackets!
$settings = array('media_buttons' => false, 'textarea_name' => 'my_options[textareafield]');
wp_editor($content, $editor_id, $settings);
Cela devrait résoudre ce problème. Aussi pour ceux d'entre vous qui ont des problèmes avec les fenêtres popup telles que l'insertion d'un lien.
Juste au cas où quelqu'un d'autre aurait ce problème, j'ai trouvé un moyen assez fiable de récupérer l'onglet de l'éditeur visuel après la mise à niveau vers Wordpress 4.0:
Voila, vos écrans de publication et pages d'édition devraient maintenant avoir les onglets de l'éditeur. Vous pouvez maintenant permuter les thèmes en fonction de celui que vous souhaitez utiliser.
Une autre raison peut être l'utilisation d'un agent d'utilisateur personnalisé. WP ne le reconnaît pas comme navigateur pris en charge et ces boutons sont donc désactivés. Vérifiez donc si la valeur de $_SERVER['HTTP_USER_AGENT']
est correcte.
Vous pouvez également forcer l’utilisation de boutons d’éditeur enrichis avec le filtre user_can_richedit.
add_filter('user_can_richedit', 'user_can_richedit_custom');
function user_can_richedit_custom($value){
$value = true;
return $value;
}