2017-07-11 2 views
0

Replacing a textarea with WordPress TinyMCE wp_editor()éditeur WYSIWYG dans la coutume Wordpress Widget

J'ai suivi le guide ci-dessus, mais le WYSIWYG a quelques problèmes.

$text = str_replace(array("\r", "\n"), '', $instance['text']); 

$settings = array('textarea_name' => $this->get_field_name('text')); 
wp_editor(esc_attr($text), 'text', $settings); 

Le résultat est le suivant:

result

L'onglet commutateur wont (parfois texte est sélectionné au départ, parfois visuelle). Le bouton Ajouter un média semble fonctionner, mais lorsque vous cliquez sur Insérer dans un message, le modal disparaît et rien ne se passe.

Il n'y a rien dans la console, donc je ne suis pas sûr de ce qui ne va pas. Quelqu'un pourrait-il savoir ce qui se passe, ou peut-être quelle direction choisir pour commencer à le comprendre?

Répondre

0

Peut-être un peu trop tard mais j'ai vu le poste il y a quelques minutes et j'ai eu le même problème.

J'ai essayé les exemples du Code Wordpress Référence: https://developer.wordpress.org/reference/functions/wp_editor/

Vous ne pas besoin de paramètres $ pour initialiser l'éditeur, il suffit d'utiliser comme ceci:

wp_editor($content, $editor_id); 

Pour une utilisation dans un widget :

public function form($instance) { 
    $text = $instance['text']; 
    wp_editor(esc_attr($text), $this->get_field_id('text')); 
} 

Et il y a une autre prise. Vous avez besoin d'un ID unique pour l'éditeur comme décrit ici: https://wordpress.stackexchange.com/questions/82670/why-cant-wp-editor-be-used-in-a-custom-widget

Espérons que cela aide!