试图添加搜索栏管理面板菜单栏搜索woocommerce产品

时间:2016-03-04 22:39:26

标签: php wordpress woocommerce

尝试将产品搜索栏添加到将进行Woocommerce产品搜索的Wordpress管理栏后端。它将位于后端管理菜单栏顶部,这样无论您在后端的哪个位置,都可以搜索woo的产品。我很接近但是在小绊脚石上发生了故障。在尝试使用搜索时,默认为发布搜索而不是产品。

//Add Search To Admin Bar
function boatparts_admin_bar_form() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
    'id' => 'boatparts_admin_bar_form',
    'parent' => 'top-secondary',
    'title' => '<form method="get" action="'.get_site_url().'/wp-admin/edit.php?post_type=product">
<input name="s" type="text" style="height:20px;margin:5px 0;line-height:1em;"/> 
<input type="submit" style="height:18px;vertical-align:top;margin:5px 0;padding:0 2px;" value="Search Products"/> 
</form>'
));
}
add_action('admin_bar_menu', 'boatparts_admin_bar_form');

在我的孩子主题的function.php中有它。让我疯狂,想要弄明白。

1 个答案:

答案 0 :(得分:3)

您应使用后期类型参数添加隐藏字段

<input name="post_type" value="product" type="hidden">

另外,我在表单提交后添加了一些用于在表单中显示搜索查询的代码以及对按钮样式的小修复。

下面的固定代码段:

//Add Search To Admin Bar
function boatparts_admin_bar_form() {
  global $wp_admin_bar;

  $search_query = '';
  if ( $_GET['post_type'] == 'product' ) {
    $search_query = $_GET['s'];
  }

  $wp_admin_bar->add_menu(array(
    'id' => 'boatparts_admin_bar_form',
    'parent' => 'top-secondary',
    'title' => '<form method="get" action="'.get_site_url().'/wp-admin/edit.php?post_type=product">
      <input name="s" type="text" value="' . $search_query . '" style="height:20px;margin:5px 0;line-height:1em;"/> 
      <input type="submit" style="padding:3px 7px;line-height:1" value="Search Products"/> 
      <input name="post_type" value="product" type="hidden">
    </form>'
  ));
}
add_action('admin_bar_menu', 'boatparts_admin_bar_form');

搜索结果示例:

Search results sample