Hur man anvÀnder flera sökformulÀr i WordPress

Hur man anvÀnder flera sökformulÀr i WordPress

Nyligen visade vi dig hur du begrĂ€nsar sökresultat för specifika inlĂ€ggstyper i WordPress. Nu ska vi visa dig hur du kan skapa olika / flera sökformulĂ€r helt och hĂ„llet. PĂ„ sĂ„ sĂ€tt kan varje formulĂ€r begrĂ€nsas till att söka efter en specifik inlĂ€ggstyp. Även om detta inte Ă€r sĂ„ svĂ„rt kommer det att krĂ€va att du har en grundlĂ€ggande förstĂ„else för WordPress-mallar.

Först behöver du nÄgra sökformulÀr. Placera följande kod var du vill att de ska vara i din blogg:



<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>


För att ange vilken typ av sökning det hĂ€r formulĂ€ret gör, Ă€ndra bara vĂ€rdet pĂ„ det dolda fĂ€ltet. Just nu Ă€r den instĂ€lld pĂ„ “normal” men det kan vara vad du vill. DĂ€refter mĂ„ste vi Ă€ndra search.php-filen. Öppna den och ersĂ€tt allt i den med den hĂ€r koden (kopiera den befintliga koden till ditt urklipp först, du behöver den pĂ„ en 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 . '/books-search.php');
    }
}
?>

SĂ„ vi antar att du har tvĂ„ sökformulĂ€r, normalt och böcker. Den hĂ€r koden omdirigerar helt enkelt sökningen till php-filen som hanterar den specifika frĂ„gan. Nu mĂ„ste vi bara skapa dessa filer. SĂ„ fortsĂ€tt och skapa en normal-search.php- och books-search.php-fil (ersĂ€tt bara “normal” och “books” med de vĂ€rden du har anvĂ€nt).

Nu, i normal-search.php kopiera och klistra in följande kod:



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


Omedelbart efter detta klistrar du in loopkoden frÄn ditt urklipp som du kopierade frÄn search.php-filen. Tillsammans söker den hÀr koden bara i dina vanliga blogginlÀgg. Nu, i filen books-search.php, lÀgg till den hÀr koden och klistra in slingan igen direkt efter den:



$args = array( 'post_type' => 'books' );
$args = array_merge( $args, $wp_query->query );
query_posts( $args );


Detta kommer att leda till att WordPress bara söker efter den anpassade posttypen av “böcker”. Du kan upprepa denna process för sĂ„ mĂ„nga sökformulĂ€r som du vill.