it-swarm.com.de

verhalten von get_search_form ändern

Ich habe eine Funktion zum Anzeigen eines Suchfelds erstellt und es my_get_search_form() genannt. Das ist eine Kopie der ursprünglichen Funktion get_search_form().

Wenn ich die Funktion aufrufe, lautet die Ausgabe wie folgt: Search in http://localhost/wp_ex_3/ <AN EMPTY BOX> <A BROKEN IMAGE LINK>.

Wie kann ich diese hässliche Anzeige ändern und http://localhost/wp_ex_3/ nicht anzeigen? Ich sollte sagen, dass es in der Funktionsdefinition keine "search in"-Anweisung gibt, sodass eine andere Funktion dieses Verhalten verursacht hat. Quellcode der Funktion auf developer.wordpress.org: https://developer.wordpress.org/reference/functions/get_search_form/#source-code .

1
gary

sie müssen keine weitere Funktion hinzufügen, um das Suchformular zu erhalten. Wenn Sie das Aussehen des Suchformulars ändern oder andere Elemente hinzufügen möchten, müssen Sie den searchform.php zu Ihrem Thema hinzufügen.

Es könnte so aussehen:

    <form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
        <input type="search" class="search-field" placeholder="Suchen …" value="<?php echo get_search_query() ?>" name="s" title="Suche nach:" />
        <input type="submit" class="search-submit" value="Suchen" />
    </form>

Jedes Mal, wenn Sie die Funktion get_search_form() aufrufen, wird der Inhalt der Datei searchform.php zurückgegeben. Dort können Sie beliebig viele Formularfelder hinzufügen.

1
levelzwo

Das Ändern des Standardverhaltens oder des Suchformulars ist abhängig vom Design des Themas erforderlich. Hier ist ein Beispiel, was ich mache:

add_filter('get_search_form', 'elevation_search_form');

function elevation_search_form($form) {
    $form = '<form action="' . esc_url( home_url( '/' ) ) . '" method="get" class="search-form">
        <input type="text" name="s" id="s" class="search" placeholder="Search for.." value="' . esc_attr( get_search_query() ) . '" required>
        <button type="submit" id="search-submit" class="search-submit"><i class="fa fa-search"></i></button>
        </form>';
return $form;
}
0
Liton Arefin

Wenn Sie das Suchverhalten ändern möchten, müssen Sie dem Formular nur Ihre eigenen Felder hinzufügen

<form role="search" method="get" id="searchform" action="http://www.test.dev/">
<div>
<label for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
<input type="hidden" value="1" name="sentence" />
<input type="hidden" value="product" name="post_type" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>

Dieses Suchformular generiert bei der Übermittlung die folgende URL:

http://www.test.dev/?s={query}&sentence=1&post_type=product
0
Owais Alam