Ich habe ein benutzerdefiniertes Suchformular eingerichtet, um die Ergebnisse meiner benutzerdefinierten Beitragstyp suchen und anzuzeigen. Die Form ist:Wordpress benutzerdefinierte Post-Typ Suchergebnisse Seite
<form class="search-form" action="<?php echo home_url('/'); ?>">
<input type="search" name="s" placeholder="Search…">
<input type="hidden" name="post_type" value="resource-library">
<input type="submit" value="Search">
</form>
In meinem search.php ich Leute auf eine benutzerdefinierte Suche PHP-Datei suchen-Ressource-library.php wenn der Inhaltstyp ist Ressource-Bibliothek mit dem Namen lenken will. Also habe ich diese an der Spitze meiner search.php Seite:
<?php
// store the post type from the URL string
$post_type = $_GET['post_type'];
// check to see if there was a post type in the
// URL string and if a results template for that
// post type actually exists
if (isset($post_type) && locate_template('search-' . $post_type . '.php')) {
// if so, load that template
get_template_part('search', $post_type);
// and then exit out
exit;
}
?>
ich genau das, was dies zu tun ist, aber ich kann nicht die Post-Typ aus der URL-Zeichenfolge angeblich im Suchformular html gesetzt zu speichern scheinen .
Irgendwelche Ideen?
Was meinen Sie "speichern" den Beitragstyp? Meinst du, dass diese Zeile: '$ post_type = $ _GET ['post_type']' 'den Post-Typ nicht setzt? Oder etwas anderes? –
korrekt. Ich kann den post_type nicht an die URL anhängen, nachdem ich im Suchformular auf die Schaltfläche "Senden" geklickt habe. Ich brauche es, um eine "post_type = research-library" in der URL zu übergeben. –
Sorry, das ist verwirrender. Erhält '$ post_type' den richtigen Wert in Ihrem Code oben oder nicht? Wenn nicht, haben Sie versucht, $ post_type = $ _POST ['post_type']; ' –