Support » Allgemeine Fragen » Vollansicht der Posts je nach Kategorie auf bestimmter (Unter-)Seite anzeigen

  • Ich bin auf der Suche nache einer eigentlich einfachen Funktion:

    In etwas „größeren“ CMS (Typo3, Contao …) lässt sich i. A. die Detailansicht der Newseinträge individuell/seitenweise einstellen.

    (Der Einfachheit halber schreibe ich hier „News“, bedeutet aber dasselbe wie „Posts“)

    D. h. ich erstelle eine Seite, setze dort ein Newsanzeige-Element (Liste) im Inhaltsbereich, wähle in diesem Element die Kategorie und die Seite, wo die Voll/-Detailansicht dargestellt werden soll (welche ich mit einem entspr. Newsanzeige-Element (für Detailansicht) vorher erstellt habe.

    Sinn der Sache ist (Beispiel):

    Wenn ich in der Hauptnavigation zB eine Seite „Aktuelles“ und eine Seite „Stellenangebote“ benötige, werden die entsprechenden Beiträge in der Detailansicht auf einer Unterseite angezeigt, d.h. ich bleibe (Bsp.) im Bereich „Stellenangebote“.

    In WP bekomme ich per default erstmal alles über die „single.php“ angezeigt, gehe also aus dem Seitenbereich „Stellenangebote“ raus, egal welcher Kategorie die News angehört.

    —-

    Ich könnte zwar über zB

    <?php
    $post = $wp_query->post;
    if ( in_category(’12‘) ) {
    include(TEMPLATEPATH . ‚/single-neu.php‘);
    } else {
    include(TEMPLATEPATH . ‚/single-standard.php‘);
    }
    ?>

    verschiedene Ausgabetemplates definieren (bräuchte ich hier nicht mal unbedingt), aber lande natürlich trotzdem auf der obersten Ebene, d.h. bin nicht mehr im Seitenbereich.

    Bin für alle Tips dankbar.

    Beste Grüße,
    HK

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Moderator Bego Mario Garde

    (@pixolin)

    In etwas „größeren“ CMS (Typo3, Contao …)

    Wie definierst du denn groß?

    Wenn ich in der Hauptnavigation zB eine Seite „Aktuelles“ und eine Seite „Stellenangebote“ benötige, werden die entsprechenden Beiträge in der Detailansicht auf einer Unterseite angezeigt, d.h. ich bleibe (Bsp.) im Bereich „Stellenangebote“.

    Die Beschreibung ist etwas schwierig nachzuvollziehen.

    Wenn du in WordPress Beiträge eine Kategorie zuweist, kannst du alle Beiträge einer Kategorie zusammengefasst aufführen (üblicherweise unter sowas wie https://example.com/category/stellenausschreibungen/).
    Für die Darstellung einzelner Kategorien kannst du in einem Child-Theme auch eigene Templates anlegen, z.B. category-stellenausschreibung.php. WordPress versucht gemäß Template-Hierarchie ein spezifisches Template auszuwählen, fällt aber auf allgemeinere Templates zurück wenn kein spezifisches vorhanden ist. – Oder was war jetzt deine Frage? 🙂

    Hallo und Danke für die schnelle Antwort!

    Wie definierst du denn groß?
    „Größer“ heisst für mich tendenziell umfangreicher ausgelegte Basisfunktionialität mit allen Vor- und Nachteilen, die das mit sich bringt.
    M. E. haben fast alle gängigen CMS ihre Stärken, Schwächen und Anwendungsfälle.

    —-

    Ich habe gerade nochmal über die url-Struktur in WP nachgedacht und einiges hat sich erübrigt.
    Die „category slug“ Template-Funktion kannte ich tatsächlich noch nicht, wobei das „Auflisten“ der Posts gefiltert nach Kategorie ja auch gut über PHP-Funktionen geht.
    Wie auch immer, ich mache es jetzt über die „Weiche“ (s.o.) mit verschiedenen Versionen der „single.php“.

    Mir geht es letztlich darum, dass, wenn zB in einer horizontalen Nav. oben der Punkt „News“ grafisch angemarkert ist, das auch so bleibt, wenn die Besucher die Detailansicht des Posts anwählen. Das kann man natürlich auch mit CSS umsetzen über die „body class“ und id oder Klasse „menu-item_xy“. So werde ich das wohl auch machen.

    Gruß,
    Holger

    Moderator Bego Mario Garde

    (@pixolin)

    „Größer“ heisst für mich tendenziell umfangreicher ausgelegte Basisfunktionialität mit allen Vor- und Nachteilen, die das mit sich bringt.

    Vielleicht möchtest du WordPress erst ein bisschen besser kennen lernen? 🙂

    Wie auch immer, ich mache es jetzt über die „Weiche“ (s.o.) mit verschiedenen Versionen der „single.php“.

    Nehmen wir an, du möchtest im Template single.php angeben, dass bei Beiträgen der Kategorie „Hund“ die Zeichenkette „Wau!“ ausgegeben wird, bei Kategorie „Katze“ die Zeichenkette „Miau!“ und sonst nichts, dann könntest du so genannte Conditional Tags im Template verwenden:

    if ( in_category( 'hund' ) ) {
      echo 'Wau!';
    }
    if ( in_category( 'katze' ) ) {
      echo 'Miau!';
    }

    Das lässt sich dann beliebig kombinieren und auch dazu nutzen, Template-Parts oder andere Funktionen zu laden.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)