web-dev-qa-db-fra.com

Comment obtenir une sélection de texte dans WordPress Editor

Je veux quelque chose comme si je sélectionnais un mot dans WordPress Visual Editor, il serait remplacé par mon propre texte.

En fait, Visual Editor est un iFrame. Nous pouvons faire cela dans textarea, mais comment pouvons-nous l'implémenter dans iFrame (WordPress Visual Editor)?

Toute aide serait appréciée.

1
jeevesh kumar

L'éditeur visuel est une implémentation de TinyMCE. La première façon de repasser un texte sélectionné consiste à écrire un plugin pour TinyMCE.

Si vous ne voulez pas écrire de plug-in, utilisez l'objet tinyMCE:

add_action( 'admin_footer', 'tinyNagging' );

function tinyNagging() {

echo '
<script type="text/javascript">
jQuery(document).ready(
function() {
  window.setInterval(
    function(){
      var selectedText = tinyMCE.activeEditor.selection.getContent( {format : "text"} );
      if ( selectedText != "" )
        tinyMCE.activeEditor.selection.setContent( "FooBar" );
    },
    1000
  );
}
);
</script>
';

}

Ce script vérifie toutes les secondes si un texte est sélectionné et le remplace par 'FooBar'.

Obtenez le texte sélectionné avec tinyMCE.activeEditor.selection.getContent( {format : 'text'} ); pour le texte brut ou {format : 'html'} pour le balisage HTML.

Définissez le nouveau contenu avec tinyMCE.activeEditor.selection.setContent( [YourNewContent] );

Voir les pages de manuel de TinyMCE

3
Ralf912