Cum adaug un căsuță de căutare în meniul de navigare?

16 oct. 2015, 00:52:17
Vizualizări: 15.6K
Voturi: 6

Doresc să adaug un căsuță de căutare în meniul de navigare prin adăugarea următorului cod în functions.php (la sfârșitul fișierului, dar înainte de ?>).

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
    $items .= '<li>' . get_search_form( false ) . '</li>';
    return $items;
}

Totuși, căsuța de căutare nu apare.


EDIT: De fapt, nu există nicio problemă cu codul de mai sus. Când dau click pe iconița de căutare (PS: tema pe care o folosesc este Radiate), apar două căsuțe de căutare.

Ceea ce doresc este să plasez căsuța de căutare direct în meniul de navigare, în loc să fie nevoie de un click pentru a o afișa:

exemplu de căsuță de căutare în meniu

PS: iată codul din searchform.php:

<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <label>
        <span class="screen-reader-text"><?php _ex( 'Search for:', 'label', 'radiate' ); ?></span>
        <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search &hellip;', 'placeholder', 'radiate' ); ?>" value="<?php echo esc_attr( get_search_query() ); ?>" name="s">
    </label>
    <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'radiate' ); ?>">
</form>
2
Comentarii

Poți folosi acest plugin https://wordpress.org/plugins/add-search-to-menu pentru a obține acest lucru.

Vinod Dalvi Vinod Dalvi
11 apr. 2017 10:40:44

@VinodDalvi, mulțumesc. Pare interesant.

SparkAndShine SparkAndShine
11 apr. 2017 10:54:16
Toate răspunsurile la întrebare 1
5

Codul tău funcționează perfect pentru mine așa cum este. Singurul lucru la care mă pot gândi este că ai un fișier searchform.php definit în tema ta, dar este gol? (Dacă searchform.php nu există în tema ta, WordPress va folosi un formular implicit.)

16 oct. 2015 01:36:14
Comentarii

Mulțumesc. Da, nu e nicio problemă cu codul de mai sus. Am actualizat întrebarea mea, te rog verifică-o.

SparkAndShine SparkAndShine
16 oct. 2015 03:01:04

Bine, sună ca o problemă de comportament a temei - ai încercat să cauți în searchform.php elementele html și regulile css ale temei care se aplică formularului? Probabil va trebui să le editezi direct.

Benjamin Love Benjamin Love
16 oct. 2015 03:08:05

mulțumesc din nou. Am lipit codul din searchform.php în întrebare.

SparkAndShine SparkAndShine
16 oct. 2015 14:25:00

Se pare că încerci să găsești pe cineva care să-ți facă treaba. Câmpul de căutare este afișat, deci întrebarea ta inițială este rezolvată. Acum ai de-a face cu probleme de comportament CSS/JavaScript care au foarte puțin de-a face cu WordPress. Dacă nu ai nici o idee de unde să începi, ar trebui să angajezi un developer să te ajute.

Benjamin Love Benjamin Love
17 oct. 2015 17:50:42

mersi pentru amintirea ta bună.

SparkAndShine SparkAndShine
17 oct. 2015 18:48:51