Niedawno pokazaliśmy, jak ograniczyć wyniki wyszukiwania dla konkretnych typów wpisów w WordPress. Teraz pokażemy Ci, jak możesz tworzyć różne/wiele formularzy wyszukiwania. W ten sposób każdy formularz może być ograniczony do wyszukiwania określonego typu postu. Chociaż nie jest to zbyt trudne, będzie to wymagało podstawowej wiedzy na temat szablonów WordPress.

Po pierwsze, trzeba będzie kilka formularzy wyszukiwania. Umieść poniższy kod w dowolnym miejscu na swoim blogu:


<form method=" get"id=" searchform"action="<?PHP bloginfo ('home');?>/">
<input type = "text" value = ""name=" s "id = "s" / >
<input type = "hidden" name= "search-type"value=" normal" />
<input name= "submit" type = "submit"value=" Go" />
< / form>

Aby określić, jaki rodzaj wyszukiwania będzie wykonywał ten formularz, wystarczy zmienić wartość ukrytego pola. Teraz jest ustawiony na „normalny”, ale może to być cokolwiek chcesz. Następnie musimy zmodyfikować wyszukiwanie.plik php. Otwórz go i Zamień wszystko w nim na ten kod (najpierw skopiuj istniejący kod do schowka, będziesz go potrzebował za minutę):


<?php
if (isset ($_GET['search-type'])) {
    $type = $_GET ['search-type'];
    if ($type = = 'random') {
        load_template (TEMPLATEPATH . '/normal-search.php');
    } elseif ($type == 'books') {
        load_template (TEMPLATEPATH . '/książki-Szukaj.php');
    }
}
?>

Więc zakładamy, że masz dwa formularze wyszukiwania, normalny i książki. Ten kod po prostu przekierowuje wyszukiwanie do pliku php, który obsługuje to konkretne zapytanie. Teraz musimy tylko stworzyć te pliki. Więc śmiało, stwórz normalne wyszukiwanie.php i książki-Szukaj.plik php (po prostu zastąp „normal” i „books” dowolnymi wartościami, których używasz).

Teraz, w normalnym poszukiwaniu.PHP skopiuj i wklej następujący kod:


$args = array( 'post_type' => 'post' );
$args = array_merge ($args, $wp_query - >zapytanie );
query_posts ($args );

Natychmiast po tym wklej kod pętli ze schowka, który skopiowałeś z wyszukiwania.plik php. Razem ten kod przeszukuje tylko twoje normalne posty na blogu. Teraz, w książkach-Szukaj.plik php dodaj ten bit kodu i ponownie wklej pętlę zaraz po nim:


$args = array( 'post_type' => 'książki' );
$args = array_merge ($args, $wp_query - >zapytanie );
query_posts ($args );

Spowoduje to, że WordPress będzie szukał tylko niestandardowego typu postu „książek”. Możesz powtórzyć ten proces dla dowolnej liczby formularzy wyszukiwania.

You May Also Like

Jak naprawić nieprawidłowy błąd JSON w WordPress (Przewodnik dla początkujących)

W artykule: Co powoduje błąd „nieprawidłowa odpowiedź JSON” w WordPress?1. Sprawdź adresy…

Jak zmienić kolor linku w WordPress (poradnik dla początkujących)

W artykule: Dlaczego Linki Są Ważne?Jak dodawać linki w postach i stronach…

Jak naprawić błąd krytyczny w WordPress (krok po kroku)

W artykule: Co To jest błąd krytyczny w WordPress?Co powoduje krytyczny błąd…

Jak zainstalować WordPress lokalnie na komputerze Mac za pomocą MAMP

W artykule: Jak zainstalować MAMP na komputerze MacInstalacja WordPress na komputerze MacWypróbowanie…