Einleitung auf Kategorie-Seiten

  • Servus Zusammen,

    ich habe eine Oberkategorie und einige Unterkategorien. Nun ist es ein Wunsch, in die Unterkategorien nicht nur Artikel reinfallen zu lassen, sondern etwa auf der ersten Seite einer Unterkategorie oben eine Erläuterung mit Text und Bildern/Logos zu haben.

    Wie baut man denn sowas ein? Ich habe schon probiert meine the_loop zu kopieren, nach category-x.php umzubenennen und einen Text hineinzuschreiben. Sobald ich aber dupliziere, zerstört es das ganze Layout.

    Dann habe ich probiert direkt in die Loop was reinzuschreiben, wie "wenn category sowieso, dann schreib was". Bekomme ich aber auch nicht hin.

    Wie wäre die richtige Vorgehensweise?

    Danke,
    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wer steht, der steht :-)

    Danke tobee,

    kann man da auch HTML verwenden, weil da muss ein Logo, Überschrift etc. rein?

    Wolf

    Edit: HTML fliegt raus, gibt aber wieder ein Plugin. Für jeden Quatsch ein Plugin...

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

    Einmal editiert, zuletzt von Wolf Larsen (27. Februar 2011 um 15:15)

  • Also das oben genannte Plugin habe ich mit der Kategorie-Beschreibung verwendet. Der Code in the_loop sieht so aus:

    PHP
    <?php if (is_category()) { ?>
          <div id="category-description"> <?php echo category_description(); ?> </div>
    <?php  } ?>

    Ich bin jetzt nicht so der große Codemaster und zwei Fragen hätte ich noch dazu:

    1. is_category ist ein bisschen zu wenig. Ich habe den DIV category-description mit einer Linie unten versehen. Wo keine category-description steht ist ja trotzdem eine Kategorie vorhanden. Also bekomme ich bei allen Kategorien eine Linie unten. Deshalb habe ich mir erstmal mit

    PHP
    (is_category('xxx'))

    beholfen, was so halbautomatisch ist, dann man muss jede Kategorie mit Beschreibung nochmal in the_loop scharfschalten. Gibt es einen Ausdruck, der vorher fragt, ob die Kategoriebeschreibung überhaupt gefüllt ist? Sowas ähnliches gibt es ja bei Funktionen ala

    PHP
    if (function_exists('seopagebar'))

    2. Im Moment kommt die Beschreibung auch wenn man blättert immer oben. Da bin ich mir noch nicht sicher, ob das gut ist. Wie wäre denn der Ausdruck

    PHP
    <?php if (is_category()) { ?>

    wenn man die Beschreibung auf den Folgeseiten nicht sehen möchte?

    Danke,
    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

  • Das Plugin ist sehr leichtgewichtig. Es entfernt nur ein paar filter:

    PHP
    $filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
    foreach ( $filters as $filter ) {
    	remove_filter($filter, 'wp_filter_kses');
    }
    
    
    foreach ( array( 'term_description' ) as $filter ) {
    	remove_filter( $filter, 'wp_kses_data' );
    }

    1. Du könntest nach der Beschreibung "fragen":

    PHP
    ...
    if(category_description()){ ?>
    ...

    2. Da hilft dir die Wordpress Codex Seite weiter:

    Zitat


    Returns the description of a category defined in the category settings screen for the current category (Posts > Categories).

    If used in the archive.php template, place this function within the is_category() conditional statement. Otherwise, this function will stop the processing of the page for monthly and other archive pages.

  • Vielen Dank für den Ausdruck bei Punkt 1. Das if hilft viel :-)

    Aus Punkt 2 liest sich irgendwie, dass die category-description von sich aus nur auf der ersten Seite landet, oder? Aber wahrscheinlich nur, wenn man sie in archive.php einsetzt. So eine Datei gibt es bei mir nicht, es entsteht alles aus dem the_loop. Also müsste wohl dieser Ausdruck

    PHP
    <?php if(category_description()) { ?>

    mit diesem Ausdruck

    PHP
    !is_paged()

    verheiratet werden. Das ! dreht ja den Ausdruck um, die Beschreibung dürfte dann auf den Folgeseiten nicht erscheinen.

    Kannst Du die beiden Ausdrücke für mich zusammenbringen?

    Dankeschön,
    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!