2016-03-04 3 views
2

Пытается добавить панель поиска продукта в бэкэнд администратора Wordpress, который будет выполнять поиск товаров Woocommerce. Он будет расположен в верхней панели меню администратора, так что независимо от того, где вы находитесь в задней части, это позволит искать продукты woo. Я близок, но ошибаюсь в небольшом камне преткновения. При попытке использовать поиск по умолчанию выполняется поиск вместо товаров.Попытка добавить панель поиска Панель администратора Панель меню Поиск товаров для woocommerce

//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'); 

Имейте это в функции моей дочерней темы.php. Вождение мне орехов, пытаясь понять это.

+0

Привет Lucky_Hunter – Joe

+0

Привет Лаки Хантер, спасибо за ответ. Работала отлично, как я надеялся. Теперь я вижу, чего не хватает. Это было огромно. Еще раз спасибо!!!!! – Joe

ответ

2

Вы должны добавить скрытое поле с постом типа параметра:

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

Кроме того, я добавить код для отображения поискового запроса в форме после отправки формы и небольшое исправление для стилей кнопок.

Fixed фрагмент кода ниже:

//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

Смежные вопросы