7

I am building a plugin for frontend submission. I am using shortcodes API to display the form for content submission, but I am having troubles. The problem is, wp_editor echoe's data, and shortcode should return data. When I integrate wp_editor like this:

$final_form .= wp_editor();

form does render, but not in the place but on top of the post content, where shotcode is included. Do you have any idea how would one use wp_editor in shortcode API? I don't wan't to bother with manually calling TinyMCE etc.

Thank you.

1 Answer 1

16

If a function echos data, you can use php output buffering to capture the echoed output and return it instead

// Turn on the output buffer
ob_start();

// Echo the editor to the buffer
wp_editor();

// Store the contents of the buffer in a variable
$editor_contents = ob_get_clean();

// Return the content you want to the calling function
return $editor_contents;
5
  • Thank you for suggestion. Could you show me an example code? Sep 26, 2012 at 14:56
  • 2
    see edit above.
    – Milo
    Sep 26, 2012 at 15:26
  • Isn't there a get_wp_editor() function? The output buffering looks a bit "hacky".
    – Ciprian
    Jan 3, 2013 at 13:25
  • @CiprianPopescu there is no get_wp_editor, you can look in source and see exactly why output buffering is necessary in this case, nothing really hacky about it.
    – Milo
    Jan 3, 2013 at 19:14
  • 2
    Thanks @Milo. I hope they'll add the option to return it instead of echoing it, without using output buffering. I'm using it for a front-end textarea.
    – Ciprian
    Jan 3, 2013 at 21:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.