函数文档

wp_admin_bar_search_menu()

💡 云策文档标注

概述

wp_admin_bar_search_menu() 函数用于在 WordPress 管理工具栏中添加一个搜索表单,仅在前端页面显示,不适用于管理界面。

关键要点

  • 函数接受一个 WP_Admin_Bar 实例作为必需参数。
  • 使用 is_admin() 检查当前是否为管理界面,如果是则直接返回,不添加搜索表单。
  • 通过 WP_Admin_Bar::add_node() 方法将搜索节点添加到工具栏的 'top-secondary' 父级下。
  • 搜索表单包含翻译文本和元数据,如 CSS 类和 tabindex 属性。

代码示例

function wp_admin_bar_search_menu( $wp_admin_bar ) {
    if ( is_admin() ) {
        return;
    }

    $form  = '';
    $form .= '';
    $form .= '' .
            /* translators: Hidden accessibility text. */
            __( 'Search' ) .
        '';
    $form .= '';
    $form .= '';

    $wp_admin_bar->add_node(
        array(
            'parent' => 'top-secondary',
            'id'     => 'search',
            'title'  => $form,
            'meta'   => array(
                'class'    => 'admin-bar-search',
                'tabindex' => -1,
            ),
        )
    );
}

注意事项

  • 此函数自 WordPress 3.3.0 版本引入。
  • 相关函数包括 WP_Admin_Bar::add_node()、__()、esc_url()、is_admin() 和 home_url() 等。
  • 搜索表单仅在前端显示,确保不会干扰管理界面的功能。

📄 原文内容

Adds search form.

Parameters

$wp_admin_barWP_Admin_Barrequired
The WP_Admin_Bar instance.

Source

function wp_admin_bar_search_menu( $wp_admin_bar ) {
	if ( is_admin() ) {
		return;
	}

	$form  = '<form action="' . esc_url( home_url( '/' ) ) . '" method="get" id="adminbarsearch">';
	$form .= '<input class="adminbar-input" name="s" id="adminbar-search" type="text" value="" maxlength="150" />';
	$form .= '<label for="adminbar-search" class="screen-reader-text">' .
			/* translators: Hidden accessibility text. */
			__( 'Search' ) .
		'</label>';
	$form .= '<input type="submit" class="adminbar-button" value="' . __( 'Search' ) . '" />';
	$form .= '</form>';

	$wp_admin_bar->add_node(
		array(
			'parent' => 'top-secondary',
			'id'     => 'search',
			'title'  => $form,
			'meta'   => array(
				'class'    => 'admin-bar-search',
				'tabindex' => -1,
			),
		)
	);
}

Changelog

Version Description
3.3.0 Introduced.