In Seiten-Attribute Kategorien einfügen

  • Hallo zusammen,

    ich habe mal wieder meine Seite angefasst und stricke mir gerade ein neues Layout. Dafür möchte ich einer Seite eine Kategorie über die Attribute zuweisen, damit Beiträge, die die entsprechende Kategorie zugewiesen bekommen haben, automatisch auf dieser Seite erscheinen. Wie stelle ich das am besten an? Bisher werden mir unter Attribute nur das Dropdown Eltern angezeigt und nicht das Dropdown Template.

    Zur kurzen Erläuterung, warum ich nicht einfach die Kategorie ins Menü einfüge: Später soll das ganze so aussehen, dass auf der Seite immer ein kurzer Text ganz oben steht und darunter erst die neuen Beiträge gepostet werden.

    Ich hoffe, ihr könnt mir an diesem sonnigen Tag weiterhelfen :)

    Danke schon mal

    • 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

  • 3 Möglichkeiten!

    1. Möglichkeit:

    Die Seiten sehen alle gleich aus, nur der Inhalt (katgorie) ändert sich

    - Erstelle ein Seitentemplate und frage dort über get_query_vars die Kategorie ab. Füge dieses in einem Custom Query ein (WP_Query) und gebe die Beiträge aus den Content der Seite an sich kannst du extra ausgeben. Anschließen wähle das Template in einer Neuen Seite im Backend aus

    2. Möglichkeit

    Die Seiten sehen für jede Kategorie anders aus

    Erstelle ein Seitentemplate für JEDE Kategorie, füge dieses in einem Custom Query ein (WP_Query) und gebe die Beiträge aus den Content der Seite an sich kannst du extra ausgeben.Anschließen wähle das Template in einer Neuen Seite im Backend aus.

    3. möglichkeit

    Erstelle für jede Kategorie eine Datei nach diesem Schema: catagory-KategorieSlug.php. Ersetze "KategorieSlug" durch den Slug der jeweiligen Kategorie. Richte dich hierbei nach der category.php

    Falls ich deinen Wunsch falsch verstanden habe, so sehe man es mir nach :)

    mfg

    Einmal editiert, zuletzt von Meathor (14. März 2014 um 16:24)

  • 3
    Falls ich deinen Wunsch falsch verstanden habe, so sehe man es mir nach :)

    Du hast meine Wünsche nicht falsch verstanden, vielen Dank erst mal für die schnelle Antwort.
    Möglichkeit 1 ist tatsächlich das, was ich suche. Mir reicht es, wenn alle Seiten gleich aussehen.
    Ich habe da aber noch einmal eine Frage: Ich kopiere einfach die page.php und benenne sie quasi um bspw. page_kategorie.php und dort schreibe ich dann einfach noch die Abfrage der Kategorie rein, richtig?

  • Der Name der Datei spielt keine rolle am anfang der Datei muss im Code muss lediglich:

    PHP
    /*
    Template Name: Dein Templatename
    */

    stehen und die Datei muss im Root des Themeordners liegen.

    Üblicherweise nimmt man aber Tatsächlich die page.php in Kopie dafür da dort die Strukturen schon vorhanden sind.

    Also:

    page.php Kopieren => am anfang der Datei obigen code einfügen => mittels WP_Query einen loop ausführen

    Hier ne Erklärung: http://digwp.com/2011/05/loops/#wp-query

    und

    Hier nen kleines Video zum loop: http://blog.teamtreehouse.com/wordpress-cust…ehouse-workshop

    Einmal editiert, zuletzt von Meathor (14. März 2014 um 16:43)

  • Ich muss gestehen, ich stehe seit ein paar Stunden auf dem Schlauch. Meine Kenntnisse von css sind sagen wir mal rudimentär und das ist schon geprahlt.
    - page.php kopieren - Kein Problem
    [COLOR=#FF8000][FONT=monospace]
    [/FONT][/COLOR][FONT=monospace]- Template Name: Dein Templatename[COLOR=#ff8000] -[/COLOR][/FONT][FONT=monospace] an den Anfang schreiben auch kein Problem

    - mittels WP_Query einen loop erzeugen - Problem!

    Ich habe google und Youtube zu dem Thema befragt, habe aber das Gefühl, alle Tutorials steigen zwei Stritte zu spät für mich ein. Kennt [/FONT][FONT=monospace]jemand ein "Schritt für Schritt" Tutorial, das sich für Dummies eignet?

    Sorry, wenn ich den einen oder anderen mit meinen Fragen nerve.[/FONT]

  • Also, ich bin nun über Nacht an folgenden Stand gekommen: Ich habe eine neue .php gespeichert, die unter Seiten taucht sie auch unter Attribute/Template im Dropdown auf. Jetzt würde ich aber gerne auf dieser Seite alle Beiträge, denen ich eine bestimmte Kategorie zuweise, bündeln. Dafür muss ich im Backend einer Seite in den Attributen eine Kategorie zuweisen - richtig? Wie schaffe ich das, dass sobald ich unter Attribute/Templates ein bestimmtes Seitentemplate wähle, ein Dropdown auftaucht, in dem ich die alle Kategorien finde?

    Meine Seite, die ich neu angelegt habe sieht so aus:

    /*
    Template Name: Wiki
    */
    get_header();
    ?>
    <div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">


    <?php /* The loop */ ?>
    <?php while ( have_posts() ) : the_post();
    ?>
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php if ( ! is_front_page() ) { ?>
    <h1 class="entry-title"><?php the_title(); ?></h1>
    <?php } ?>


    <div class="entry-content">
    <?php the_content( $bavotasan_theme_options['read_more'] ); ?>
    </div><!-- .entry-content -->


    <?php get_template_part( 'content', 'footer' ); ?>
    </article><!-- #post-<?php the_ID(); ?> -->


    <?php
    comments_template( '', true );
    endwhile;
    ?>
    </div>


    <?php get_footer(); ?>

    Habe ich einen Denkfehler, etwas vergessen oder bin ich total falsch?

  • http://codex.wordpress.org/Class_Referenc…gory_Parameters

    Du musst einfach einen eigenen Loop durchführen

    Nimm mal dieses als loop:

    Den rest müsstest du nun selber machen :)

  • Hallo zusammen,

    ich habe mal wieder meine Seite angefasst und stricke mir gerade ein neues Layout. Dafür möchte ich einer Seite eine Kategorie über die Attribute zuweisen, damit Beiträge, die die entsprechende Kategorie zugewiesen bekommen haben, automatisch auf dieser Seite erscheinen. Wie stelle ich das am besten an? Bisher werden mir unter Attribute nur das Dropdown Eltern angezeigt und nicht das Dropdown Template.

    Zur kurzen Erläuterung, warum ich nicht einfach die Kategorie ins Menü einfüge: Später soll das ganze so aussehen, dass auf der Seite immer ein kurzer Text ganz oben steht und darunter erst die neuen Beiträge gepostet werden.

    Ich hoffe, ihr könnt mir an diesem sonnigen Tag weiterhelfen :)

    Danke schon mal

    das ist doch mit der Kirche tausend mal umsKreuz gegangen

    wozu so eine Seite, die Beiträge aus Kategorie X darstellt
    das macht doch das category.php template völligst hausintern...

    gestalte dieses Template indem du die category.php mit einem Texteditor öffnest und unter
    category-kategorieslug.php abspeicherst

    du verbrauchst Queries und Power deiner Webseite um das Rad neu zu erfinden
    diese Logik erschließt sich mir nicht wirklich ...


  • das macht doch das category.php template völligst hausintern...

    gestalte dieses Template indem du die category.php mit einem Texteditor öffnest und unter
    category-kategorieslug.php abspeicherst

    Das war Möglichkeit 3 welche ich vorgeschlagen habe, diese war allerdings nicht gewünscht wie aus seiner Antwort zu entnehmen ist.

    Ermöchte ausserdem eine Beschreibung einfügen, welche er dann über den normalen Seitencontent im Editor erstellen kann.

    Natürlich könnte man da auch die Kategorie beschreibung nahmen, nur hat man da eben keinen Visuellen Editor ;)

    Einmal editiert, zuletzt von Meathor (18. März 2014 um 10:24)

  • Meathor, erst einmal Danke für den Loop. Ich werde ihn heute Abend mal ausprobieren. Zu deiner Möglichkeit 3 habe ich dann aber doch noch eine Frage: weise ich damit der page.php eine Kategorie zu oder ist das eine dynamische Zuweisung. Sprich, könnte ich mehrere Seiten mit jeweils unterschiedlichen Kategorien anlegen?

    Wenn das ginge, hätte ich dich wirklich oben falsch verstanden - sorry :)

  • Mit Möglichkeit 3 brauchst du keine Seiten im Backend mehr erstellen. Das System nimmt Automatisch die category-DeinSlug.php wenn Sie vorhanden ist für die Kategorie "DeinSlug" in der Du alle anpassungen machen kannst die auf andere Kategorien nicht zu trifft.

    bsp:

    Kategorie: Allgemein
    Slug: allgemein
    Datei wäre dann: category-allgemein.php

    Das ist dann für jede Kategorie möglich.

    Alertnativ kannst du auch anstelle des slug die Kategorie ID nehmen, was evtl sogar besser wäre da du dann nicht den Datei namen ändern müsstest falls du den Kategorie Namen und den Slug ändern würdest.

    siehe: https://codex.wordpress.org/File:Template_Hierarchy.png

  • Je mehr ich darüber lese, umso mehr wird mir klar, dass ich Möglichkeit 3 am Anfang falsch verstanden habe.

    Eine Frage habe ich aber noch: Dass ich von eine Kategorie ins Menü einfügen kann, weiß ich. Kann ich denn auf eine category-slug.php auch verlinken? Von der Startseite sollen Bilder und Zeichnungen verlinkt werden mit den entsprechenden "Seiten" die ich eigentlich anlegen wollte. Wenn ich hier auch auf die Kategorien verlinken könnte, hätte ich, was ich will.

  • und den Text oben in dieser Kategorie schreibst du ja nicht jeden Tag neu

    hol dir dieses Plugin
    http://wordpress.org/plugins/allow-…y-descriptions/

    schreibe deinen Text in einem nicht veröffentlichten Artikel so wie du magst, dann hast du den visuellen Editor zur Verfügung
    wenn du fertig bist
    stellst du auf "Texteditor" um
    kopierst alles was dort ist

    und fügst es in die Kategoriebeschreibung ein

    und schon hast deine visuell gestaltete Kategoriebeschreibung
    desginen musst du sie via css

    und ausgeben im Template der category-slug.php

    dazu brauch ich den Inhalt derselben dann dann ich oder wer anderer zeigen wie das geht ...

Jetzt mitmachen!

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