Problem
Ich habe eine Seite auf meiner Website, auf der ich zusätzliche Suchen auf dieser Seite durchführen muss. Ich verwende die Standardmethode der WordPress-Suche <?php get_search_form(); ?>
für meine Haupt-Header-Suche, was großartig funktioniert.
Ich habe auf meiner Seite ein anderes HTML-Formular erstellt, das nicht die Standard-PHP-Methode verwendet, für die zusätzliche Suche wie folgt:
<form action="<?php bloginfo('siteurl'); ?>" id="searchform" method="get">
<div>
<label for="s" class="screen-reader-text">Search for:</label>
<input type="text" id="s" name="s" value="" />
<input type="hidden" name="post_type" value="photo_group" />
<input type="submit" value="Search" id="searchsubmit" />
</div>
</form>
Ich verwende die type=hidden
, um den benutzerdefinierten Beitragstyp zu erhalten, den ich durchsuchen möchte:
<input type="hidden" name="post_type" value="photo_group" />
Das gibt mir einen Link, der ähnlich aussieht wie:
http://mywebsite.com/?s=search&post_type=photo_group
Frage
Wenn ich das neue Suchformular verwende, das auf der Seite erstellt wurde, wird die Standardeinstellung search.php verwendet, um die Ergebnisse anzuzeigen. Wie kann ich die Suchergebnisse der Suche nach benutzerdefinierten Beitragstypen anzeigen, z. B. div
auf derselben Seite?
Ich habe versucht, eine neue Seitenvorlage zu erstellen, die die Ergebnisse ohne Erfolg anzeigt. Könnte dies der richtige Weg sein und ich habe es einfach falsch gemacht?
* Bearbeiten *
Ich versuche die Lösung von Sanchothefat. Sieht das richtig aus? Dies ist mein ganzes Div für meine Suchergebnisse und Suchanfragen.
<div id="photo-search">
<h2>Search Photos:</h2>
<form action="<?php the_permalink(); ?>" id="searchform" method="get">
<div>
<label for="s" class="screen-reader-text">Search for:</label>
<input type="text" id="search" name="search" value="" />
<input type="hidden" name="post_type" value="photo_group" />
<input type="submit" value="Search" id="searchsubmit" />
</div>
</form>
<?php if( isset( $_REQUEST['search'] ) ) {
query_posts( array(
's' => $_REQUEST['search'],
'post_type' => $_REQUEST['photo_group'],
'paged' => $paged
));
if( have_posts() ) : while ( have_posts() ) :
the_title();
the_content();
endwhile; endif;
wp_reset_query();
}
?>
</div>
Ich erhalte die 404-Fehlerseite, die beim Durchlaufen der Suche nicht gefunden wurde.