Inserire placeholder nel campo cerca

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
Ho bisogno di modificare questo codice in modo che nel campo mi metta un placeholder così: Cerca nel blog...

PHP:
<?php add_filter( 'wp_nav_menu_items','add_search_box', 10 );
function add_search_box( $items ) {
   $items .= '<li class="search-field">' . get_search_form( false ) . '</li>';
   return $items;
} ?>
 

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
Ciao,
Leggendo la documentazione qui https://developer.wordpress.org/reference/functions/get_search_form/#description puoi notare che questa funzione cerca il file searchform.php, puoi crearne uno per personalizzare la tua form di ricerca prendendo spunto da quella di default.
C'è l'ho, questo sotto è il codice originale che c'è in searchform.php
La mia è una situazione un pò strana: Il codice che ti ho postato nel primo post fa apparire la casella di ricerca nel menu del mio sito https://albenessereblog.altervista.org come puoi vedere, quel codice ho dovuto metterlo in header.php se però al posto di quel codice ci metto questo sotto con il placeholder, la casella di ricerca non appare nel menu e non so perché.

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

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Ciao,
Non credo di aver capito benissimo, comunque solitamenti add_filter e simili è buona prassi metterle in functions.php (salvo casi particolari come catene di callback o stile OOP).

Quindi tu hai il file searchform.php nel tuo template, la funzione add_filter ma non ti visualizza la barra di ricerca? sul link che mi hai dato lo vedo senza problemi.
 

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
Ciao,
Non credo di aver capito benissimo, comunque solitamenti add_filter e simili è buona prassi metterle in functions.php (salvo casi particolari come catene di callback o stile OOP).

Quindi tu hai il file searchform.php nel tuo template, la funzione add_filter ma non ti visualizza la barra di ricerca? sul link che mi hai dato lo vedo senza problemi.
La vedi perché ho dovuto usare il codice originale in searchform.php (che ha il placeholder originale) e ho dovuto invece mettere questo sotto nel punto esatto in header.php ma che non ha il placeholder, io il placeholder lo voglio mettere qui ma modificato:

Codice:
<?php add_filter( 'wp_nav_menu_items','add_search_box', 10 );
function add_search_box( $items ) {
   $items .= '<li class="search-field">' . get_search_form( false ) . '</li>';
   return $items;
} ?>
 
Ultima modifica: