7

I am making a Vimeo Upload plugin for Wordpress, so that you can upload directly from wordpress onto Vimeo and embed it directly. Anyways i think i have the hardest part done and that was the authentication (bad examples where there).

Now I have another problem. In Wordpress you can embed images in the rich text editor through pressing on a button in the popup. ( http://cl.ly/6Xns ) ('Invoegen in bericht' button in dutch).

Now I want to do the same thing, insert 'some tekst' (a url is enough) into the rich text area when someone clicks on my 'invoegen' button ( http://cl.ly/6Wmn ) how can I achieve this?

I can't find any javascript documentation on the Wordpress site. Hoping someone can help. I thought, lets look how the other button does it, but the inspector does not show any 'onclicks' and such on that button. Those are hooked on the fly and I don't know where in the code to look for that.

Hoping someone can help me out.

Kind regards.

Matthijn
  • 3,126
  • 9
  • 46
  • 69
  • 1
    Answer your own question in the answer box below and hit accept. Otherwise, your question will remain open forever! – bpeterson76 May 16 '11 at 19:45
  • 1
    Also to note, do you know Wordpress supports Oembed, so the user just pastes a Vimeo URL into the content area, and it will be converted to an embed code. – addedlovely May 23 '11 at 06:07

2 Answers2

7

Fixed it myself.

function appendText(text) {
//Insert content
parent.tinyMCE.activeEditor.setContent(parent.tinyMCE.activeEditor.getContent() + text);
//Close window
parent.jQuery("#TB_closeWindowButton").click();
}
Matthijn
  • 3,126
  • 9
  • 46
  • 69
  • Great. Just an addition: the javascript object "tinymce" seems to be a global variable, and is readily available. So my code works when I do this: `$('#insert-button').click(function() { tinymce.activeEditor.setContent(tinyMCE.activeEditor.getContent() + 'text inserted! '); });` – Ardee Aram Jan 31 '13 at 08:26
1

For those of you who want to add the text at the current cursor location, you can make use of the mceInsertContent function (built-in TinyMCE function).

A quick example would be:

function addTextIntoEditor(myText){
    tinymce.activeEditor.execCommand('mceInsertContent', false, myText);
}

This is based on Magus's answer located here

Community
  • 1
  • 1
Frits
  • 7,341
  • 10
  • 42
  • 60