I'd like to add a custom form to the admin bar in Wordpress. is there a way to accomplish this? So far all of the documentation seems to only allow the addition of simple text links.
2 Answers
I just gave this a shot and it seemed to work fine:
function wpse_form_in_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->add_menu( array(
'id' => 'wpse-form-in-admin-bar',
'parent' => 'top-secondary',
'title' => '<form><input type="text" /><input type="submit" /> </form>'
) );
}
add_action( 'admin_bar_menu', 'wpse_form_in_admin_bar' );
You'll have to do some work to gussy it up a bit, but it looks like there is a chance you can do what you want.
what @tollmanz suggested will probably work, but to avoid having your text breaking out the menu width, I would suggest
function wpse_form_in_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->add_menu( array(
'id' => 'wpse-form-in-admin-bar',
'parent' => 'top-secondary',
'title' => 'title_goes_here',
'meta' => array(
'target' => '_self',
'html' => '<!-- Custom HTML that goes below the item --><form><input type="text" /><input type="submit" /> </form>',
),
)
);
}
add_action( 'admin_bar_menu', 'wpse_form_in_admin_bar' );
-
I think this is much better! The @tollmanz answer is messy a bit! html tags inside an attribute?!!– kodfireCommented Jul 6, 2022 at 8:06