0

Ich benutze die Suche & Filter-Plugin, um zwei benutzerdefinierte Taxonomien zu einem benutzerdefinierten Beitragstyp (Thema & Ort) zu filtern. Einige meiner Benutzer verwenden die Felder "Alle Themen" & "Alle Orte" in der Hoffnung, dass sie beim Senden auf die ursprüngliche Archivseite zurückgesetzt werden. Dadurch wird Wordpress natürlich an die Suchergebnisseite gesendet, da dies zu einer leeren Suchabfrage führt. Das sieht etwa so aus: „keine Ergebnisse“Wordpress: leere Post Typ Suchabfrage Ergebnisse redirect statt zu den Suchergebnissen

http://www.example.com/?s=

Hier ist, was von den anderen Menschen meiner Situation einzigartig macht, die einfach nur eine Nachricht mag, sagt Anstatt die Suchergebnisse zuzulassen, leite ich meine Benutzer lieber zurück zur Archivseite des benutzerdefinierten Post-Typs, in dem sie sich befanden, als sie diese Abfrage ausgeführt haben. Etwas, das wie folgt aussieht:

http://www.example.com/resources/

Aber es gibt eine weitere Schicht auf die Frage. Ich habe zwei benutzerdefinierte Post-Typen mit zwei benutzerdefinierten Taxonomien. Ressourcen und Schulungen. Wenn sie an Schulungen teilnehmen, müssen sie in einer leeren Suchanfrage an das Schulungsarchiv weitergeleitet werden. Wenn es sich um Ressourcen handelt, müssen sie in einer leeren Suchabfrage an Ressourcen weitergeleitet werden.

Ist das möglich?

Antwort

0

Um diese benutzerdefinierte Umleitung zu erstellen, müssen Sie bedingte Logik in INIT-Hook erstellen. Welche überprüft, von welcher Seite ein Benutzer kommt und leitet ihn auf die entsprechende Seite um.

add_action('init','custom_redirector'); 

function custom_redirector(){ 
if (isset($_GET["s"]) and $_GET["s"]=='' and !empty($_SERVER['HTTP_REFERER'])){ 
if (strpos($_SERVER['HTTP_REFERER'],'resources')!==false){ 
    header("location: ".home_url('/resources')); exit; 
} 
elseif (strpos($_SERVER['HTTP_REFERER'],'trainings')!==false){ 
    header("location: ".home_url('/trainings')); exit; 
    } 
} 
} 

Natürlich ist der Code könnte einige Tuning benötigen, speziell in "strpos ($ _ SERVER [ 'HTTP_REFERER'], 'Ressourcen')" Teile. Sie wissen besser, welche erkennbaren Slugs Ihre benutzerdefinierten Post-Seiten enthalten.

+0

Vielen Dank für den Kommentar. Ich erkannte, dass mir ein bestimmtes Feature fehlte, das in dieses spezielle Plugin eingebaut wurde. Aber deine Antwort war richtig. – Jonathan

Verwandte Themen