Wiele razy zdarzyło mi się przeczytać pytanie jak dodać pole formularza wyszukiwania do dowolnego menu. Odpowiedzi na to pytanie są różne: od typowego „nie da się” po mało eleganckie grzebanie po plikach motywu. A przecież WordPress, dzięki mechanizmowi filtrów i akcji, oferuje nam możliwość modyfikowanie prawie każdego elementu.
W podanym kodzie do menu, które ma nazwę „menu_default” doklejany jest formularz wyszukiwania.
class iworks_search2menu
{
public function __construct()
{
$this->menus = array( 'menu_default' );
add_filter( 'wp_nav_menu_items', array( $this, 'add_search' ), 99, 2 );
}
public function add_search( $items, $args )
{
if ( in_array( $args->theme_location, $this->menus ) ) {
$items .= sprintf(
'<li class="search">%s</li>',
get_search_form( false )
);
}
return $items;
}
}
new iworks_search2menu();
Kod do pobrania:
pobierz plik: iworks_add_search_to_menu.php
Jak użyć podany kod?
Masz 3 rozwiązania:
wrzuć załączony plik do folderu wp-content/plugins, a potem włącz wtyczkę
wrzuć załączony plik do folderu wp-content/mu-plugins
dołącz kod do pliku functions.php aktualnie używanego motywu
コメント