kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress: Single-Seiten von Custom Post Types umleiten

Innerhalb einer WordPress-Website wird zum Erstellen von Übersichtsseiten, z. B. von Produkten oder Mitarbeitern meist auf »Custom Post Types« zurückgegriffen. Die einzelnen Beiträge des Post Types werden dann mit Hilfe eines Loops an der gewünschten Stelle auf der Website ausgegeben. Doch nicht immer wird dabei die Single-Ansicht (Detailseite) benötigt. In diesem Beitrag archivieren wir ein Snippet, mit dem ihr die Single-Ansicht, sowie die Vorschau für bestimmte Beitragstypen umleiten könnt. Sowohl im Backend als auch im Frontend.

Workshops und Seminare von kulturbanause

Unsere Seminar-Termine für 2018 sind online!

Visual Prototyping, Responsive Design, WordPress, Adobe Muse, HTML & CSS, Website-Optimierung …

Jetzt Frühbucher-Preise sichern!

Umleitungen in WordPress

Um Single-Ansichten von bestimmten Post Types auf eine andere Seite, beispielsweise eine Übersichtsseite weiterzuleiten, könnt ihr folgendes Snippet in eure functions.php oder ein Plugin einfügen und den Namen des Post Types, sowie der Seite auf die weitergeleitet werden soll austauschen.

function kb_template_redirect() {
  if(is_singular('NAME DES POST TYPES')) {
    wp_redirect( home_url('/SLUG DER ÜBERSICHTSSEITE/') );
    exit();
  }
}
add_action('template_redirect', 'kb_template_redirect');

Statuscode festlegen

Die verwendete WordPress-Funktion wp_redirect(); erlaubt zwei Parameter: $location und $status. Wenn der Code wie oben gezeigt übernommen wird, erzeugt WordPress einen 302-Redirect (temporary redirect). Wenn ein anderer Statuscode gesendet werden soll, so muss das entsprechend angegeben werden. Der nachfolgende Code leitet per 301-Redirect auf die Seite zielseite.html weiter.

<?php wp_redirect( 'zielseite.html', 301 ); exit; ?>

Links / Quellen

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

6 Kommentare

  1. Ridli

    Verfasst am 5. März 2016 um 17:16 Uhr.

    Perfekter Beitrag und tolle Idee. Danke für Tipps und ausführliche Information. Die wird auch mir zustatten kommen.

  2. Arsim Murtezi

    Verfasst am 12. März 2016 um 17:06 Uhr.

    Super Beitrag, vielen Dank! Hatte schon seit längerer Zeit vor, dies zu machen, kam aber nie richtig dazu.

    Freundliche Grüsse,
    Arsim Murtezi

  3. Andreas Münch

    Verfasst am 7. April 2016 um 11:03 Uhr.

    Interessante Sache, ich frage mich nur gerade, in welchem Fall das Sinn macht, also wann man nicht die single-Seite angezeigt haben will, wenn doch ein einzelner post angeklickt wurde?

    • Jonas Hellwig

      Verfasst am 7. April 2016 um 19:03 Uhr.

      Hallo Andreas, das Snippet wird immer dann relevant, wenn man die Single-Seiten nicht einzeln aufrufen möchte. Dann sollen sie auch dann nicht erreichbar sein, wenn die direkte URL eingegeben wird. Wir haben ein konkretes Beispiel in unserem „Kunden-Feedback“-Bereich. Jedes Feedback ist ein Single-Post-Type, soll aber nicht einzeln aufgerufen werden: https://kulturbanause.de/agentur/kunden-feedback/

      • Andreas

        Verfasst am 8. April 2016 um 10:03 Uhr.

        Ah ok, danke für die Antwort.
        Ich hätte dafür eine Option in den register_post_type() args erwartet, aber es gibt dort anscheinend wirklich keine.

  4. Daniella

    Verfasst am 27. April 2016 um 9:55 Uhr.

    Vielen, vielen Dank für das Snippet. Ich habe schon eine Weile nach dieser Lösung gesucht, da ich die Singleseiten gern in der Suche ausschließen möchte.
    Kann man diese Funktion so umschreiben, dass man sie für mehrere Custom Post Types nutzen kann oder auch Umleitungen für Taxonomies von Custom Post Types erzeugen kann.
    Ansonsten müsste man für jedes Custom Posttype eine eigene Funktion machen?

    Bin schon sehr gespannt auf die Antwort.

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.