I'm building a plugin and would like to add a dashboard widget with a custom form. In this form, users should be able to edit a list of strings (add, edit and remove items). Is there a WordPress API to do something like that? I already know how to add a dashboard widget, but I don't know how to make a form in a dashboard widget / how to process the data.

The only thing I can think of is to redirect the user to my options page - there must be a neater way. Is there any?

up vote 3 down vote accepted

There are two options to use forms in a dashboard widget:

  1. Use the parameter control_callback. See the Codex

    wp_add_dashboard_widget(
        'my_id',            // $widget_id 
        'my_name',          // $widget_name 
        'my_render_widget', // $callback 
        'my_control'        // $control_callback
    );
    function my_control()
    {
        // print some form elements, WordPress will handle the <form> tag.
    }
    
  2. If you want to use a form in the main display handler, set the form action to admin-post.php and add a callback function for a custom action there. Example. When you are done processing the form redirect back to the dashboard.

  • Great! It works, thanks! I'll accept your answer after a while unless there's a better answer. – Keelan Jun 21 '13 at 9:20
  • (With 'it' I mean the second approach) – Keelan Jun 21 '13 at 9:36

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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