Suchen Sie nach einer Möglichkeit, mehrere Suchvorlagen für benutzerdefinierte Beitragstypen zu erstellen? Obwohl es wahrscheinlich ein Plugin dafür gibt, haben wir einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um mehrere Suchvorlagen für benutzerdefinierte Beitragstypen in WordPress zu erstellen.
Anweisungen:
Suchvorlage
Erstellen Sie eine neue Datei namens search.php und fügen Sie die folgende Suchvorlage hinzu. Ändern Sie $search_refer= CUSTOM_POST_TYPE in die Namen Ihrer Beitragstypen. Sie müssen auch den Vorlagenpfad zur entsprechenden Vorlage ändern, die Sie anzeigen möchten, um Ergebnisse anzuzeigen.
<?
/* Template Name: Search Results */
$search_refer = $_GET["post_type"];
if ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_one-name.php'); }
elseif ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_two-name.php'); };
?>
Suchergebnisse anzeigen
Fügen Sie diese query_post direkt über der Schleife in den von Ihnen erstellten Suchvorlagen ein. Vergessen Sie nicht, CUSTOM_POST_TYPE für jede Ihrer Vorlagen zu ändern.
<?php
$args = array(
'post_type'=> 'CUSTOM_POST_TYPE',
's' => $s,
'paged' => $paged,
);
query_posts($args);
?>
Suchformular
Fügen Sie diesen HTML-Code in die Vorlage ein, in der Sie das Suchformular anzeigen möchten. Sie müssen den Namen CUSTOM_POST_TYPE in den Beitragstyp ändern, nach dem Sie suchen möchten. Sie müssen ein neues Formular für jeden benutzerdefinierten Beitragstyp erstellen oder ein Dropdown-Menü verwenden, um den post_type festzulegen.
<form id="searchform" action="<?php bloginfo('home'); ?>/" method="get">
<input id="s" maxlength="150" name="s" size="20" type="text" value="" class="txt" />
<input name="post_type" type="hidden" value="CUSTOM_POST_TYPE" />
<input id="searchsubmit" class="btn" type="submit" value="Search" />
</form>
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, ziehen Sie bitte in Betracht, unsere anderen Artikel auf der Website zu lesen, wie z. B.: 43 beste Fotografie-Themes für WordPress und wie man ein Kontaktformular in WordPress erstellt.
Hallo, danke für diese Anleitung.
Ich versuche, ein benutzerdefiniertes Suchformular zu erstellen, das ich in der Seitenleiste des Blog-Bereichs meiner Website platzieren möchte. Ich möchte, dass das Suchformular nur innerhalb von BEITRÄGEN (Standard-Blogbeiträge, nicht benutzerdefinierte Beitragstypen) sucht – und alle anderen Inhalte, z. B. Seiten, ignoriert. Ist es möglich, diese Methode anzupassen, um das zu erreichen, was ich versuche?
Ich habe es versucht, aber ohne Erfolg.
Vielen Dank
Hallo Sally,
Versuchen Sie diese Anleitung zu wie man Beitragstypen aus Suchergebnissen filtert. Ich hoffe, Sie finden sie hilfreich 🙂
Miau miau miauperfekt )
Perfekt. Danke!
Entschuldigung für die Anfängerfrage, aber gibt es eine Möglichkeit, das noch einen Schritt weiter zu gehen und nur ein benutzerdefiniertes Metafeld innerhalb des benutzerdefinierten Beitragstyps zu durchsuchen? Ich suche seit Tagen und dies ist das nächstgelegene Skript, das ich finden konnte. Im Moment durchsucht es die Titel und den Inhalt des Beitrags, aber ich habe eine Menge benutzerdefinierter Felder für das CPT und möchte, dass der Benutzer nur ein bestimmtes Feld durchsucht. Gedanken?
Ist es möglich, diese Anweisungen anzupassen, um eine benutzerdefinierte Taxonomie anstelle eines benutzerdefinierten Beitrags zu durchsuchen? Ich versuche, eine separate Suche für jede benutzerdefinierte Taxonomie zurückzugeben, und ich komme nicht ganz dahinter. Danke!