web-dev-qa-db-fra.com

Insérer un shortcode dans l'éditeur de post à partir de javascript (Visual/HTML)

Je veux insérer un shortcode dans Wordpress Post Editor à partir de javascript (pas un plugin tinymce). J'utilise actuellement:

tinyMCE.activeEditor.execCommand('mceInsertContent', false, "[SHORTCODE]test[/SHORTCODE] ");

mais cela ne semble fonctionner que lorsque l'éditeur est en mode "Visual" (et parfois activeEditor == null). Comment puis-je accomplir cela indépendamment de l'état de l'éditeur? (Je pense que c'est un scénario assez commun)

2
Yousef

Je tirais mes cheveux sur celui-ci, mais je l'aurais peut-être compris.

Essayez ceci (avec jQuery):

if( ! tinyMCE.activeEditor || tinyMCE.activeEditor.isHidden()) {
  jQuery('textarea#content').val("[SHORTCODE]test[/SHORTCODE] ");
} else {
  tinyMCE.execCommand('mceInsertRawHTML', false, "[SHORTCODE]test[/SHORTCODE] ");
}

Fondamentalement, vous devez définir la valeur de la zone de texte directement si l'éditeur est masqué.

2
Andy Adams