Möchten Sie Ihre Suche auf den Beitrag weiterleiten, wenn nur ein Suchergebnis vorhanden ist? Dieser Code-Schnipsel verbessert die Onsite-Sucherfahrung, indem er einen Klick überflüssig macht.
Anweisungen:
Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:
add_action('template_redirect', 'single_result');
function single_result() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzuf ilde{A}gen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress kopieren / einf ilde{A}gen, damit Sie Ihre Website nicht versehentlich besch ilde{A}digen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, sollten Sie sich unsere anderen Artikel auf der Website ansehen, wie zum Beispiel: Verbessern Sie die Standard-WordPress-Sucherfahrung – der vollständige Search WP Testbericht.
Ich erhalte einen Syntaxfehler, unerwartet '$wp_query' (T_VARIABLE), wenn ich Ihren Code in die Datei functions.php kopiere. Ich habe einen benutzerdefinierten Beitragstyp namens Autos mit 4 Taxonomien und eine Archivseite, die das Grid-Plugin sowie das Search and Filter Pro-Plugin verwendet. Alles funktioniert gut, aber ich möchte stattdessen zur Beitragsseite weitergeleitet werden, wenn ich nur ein Ergebnis im Archiv habe. Können Sie mir einige Hinweise geben? Danke!
Danke!
[...] gefällt mir wirklich gut – danke WP Snipp! Wenn ein Benutzer Ihre Website durchsucht und nur ein Ergebnis vorhanden ist, wird der Benutzer direkt zu [...]
[…] [Quelle] […]
Guter Code, aber ich würde eine Verbesserung vornehmen… ändern Sie
if ($wp_query->post_count == 1)zuDer ursprüngliche Code bricht die Paginierung, wenn nur noch ein Beitrag auf der nächsten Seite übrig ist, und leitet stattdessen dorthin weiter, anstatt ihn anzuzeigen. Z.B. Wenn ein Beitragsarchiv so eingestellt ist, dass 10 Beiträge pro Seite angezeigt werden und 11 Ergebnisse zurückgegeben werden, wird anstatt des letzten Beitrags dorthin weitergeleitet.if ($wp_query->found_posts == 1)
Das funktioniert einwandfrei, danke!
Freut mich, dass es geholfen hat 🙂
[...] [Quelle: WPSNIPP] [...]
Ihr Beispiel hat bei mir gut funktioniert, alles scheint zu funktionieren.
Hey, ich auch jetzt. Entschuldigung. Danke.
Kein Problem 🙂