Auf Page Post und Pageinhalt anzeigen

  • Hallo,

    ich würde gern wissen wie ich auf einer Page gleichzeitig den Inhalt der Page den ich im Adminbereich ja schreiben und gestalten kann anzeigen lassen kann und dabei Posts aus einer Kategorie anzeigen lassen kann. Ich habe es per Template schon hinbekommen, dass mir alle Posts einer Kategorie angezeigt werden, nur die der Page sind dann weg.

    Vielen Dank schonmal für die Hilfe ;)
    P.S.:Hier mein Versuch:

    • 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

  • du brauchst zwei loops - einen von der original page.php und dann deinen vom template;

    beispiel struktur:

  • Ah cool, es klappt!
    Nur zum Verständnis: Mit dem ersten Loop lade ich meinen Pagecontent oder so rein, weil dei Page ja mit dem Template versehen ist, das Template also weiß auf welcher Page es sich befindet. Der schließt sich dann. Danach wechsel ich die Posts, die vom Loop ausgewählt sind und starte dann einen zweiten Loop.
    Ist das inhaltlich richtig so? Kann ich jetzt theoretisch der Page auch in einem Costum Field sagen welche Kategorie es anwählen soll? Wenn ja wie? Das würd mit ja unheimlich viel schreibarbeit sparen und Wordpress endgültig auf meine #1 der CMS setzen ^^


    Vielen Dank nochmal für die schnelle Antwort!

  • Zitat

    Kann ich jetzt theoretisch der Page auch in einem Costum Field sagen welche Kategorie es anwählen soll? Wenn ja wie?


    ein beispiel dazu ist im codex:
    http://codex.wordpress.org/Pages#A_Page_of_Posts

    also anstelle dieser zeile und dem code danach:

    PHP
    <?php query_posts('category_name=news'); ?>


    sowas versuchen:
    (die annahme ist, dass das benutzerfeld den namen 'category' hat, und als wert den kategorienamen enthaelt)



    http://codex.wordpress.org/Class_Referenc…gory_Parameters
    http://codex.wordpress.org/Function_Reference/get_cat_ID
    http://codex.wordpress.org/Function_Reference/get_post_meta

    (nicht getestet - hoffentlich frei von tippfehlern :mrgreen: )

  • Wow, also ich bin jetzt echt überrascht wie praktisch Wordpress ist. Lässt sich die Anzahl der Posts irgendwie limitieren? außer nicht zu viele rein zu tun? Kann ich statt dem : have_post() auch : 6 oder so schreiben oder bricht er dann ab wenn cih weniger Posts drin habe?

  • Hier siehst du die ganzen Parameter von query_posts(): http://codex.wordpress.org/Class_Referenc…uery#Parameters
    u.a. dann auch den passenden Parameter "posts_per_page".

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Also ich habs versucht, aber er nimmt nur das erste Argument was ich ihm gebe, wie verknüpfe ich die? oder was hab ich sonst falsch gemacht? anbei der Code und etwa mittig ist der fragliche bereich. Ich denke ich schreibe $args falsch, aber ich habs genau wie bei beispielen aus euren Links gemacht.

  • mach's dir nicht zu kompliziert, verknüpft werden die mit einem & ... müsste dann so ungefähr aussehen:

    PHP
    <?php $newstopic = get_post_meta($posts[0]->ID, 'newstopic', true);
    if ($newstopic) : //der zweite loop wird nur verwendet wenn das benutzerfeld ausgefuellt ist//
    $cat = get_cat_ID($newstopic);
    $cat_slug = get_category($cat)->slug;
    ?>
    <?php query_posts('[COLOR="Red"]post_per_page=6[/COLOR]&category_name=' . $cat_slug); ?>
    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Also jetzt geht weder die eine noch die andere Bedingung. habe ich das denn richtig umgebaut?


  • Also im Grunde soll das Template folgendes machen:

    1) Inhalt der Page anzeigen
    2) Darunter eine bestimmte Anzahl an Posts aus einer Kategorie posten

    Sowohl die anzahl als auch die Kategorie wird als benutzerdefiniertes Feld eingestellt.

    Was schief läuft: Das Template zeigt alle Posts aus allen Kategorien läuft.

    Hier der Code:
    http://pastebin.com/P3QgNa8L

  • im benutzer-feld 'newstopic' muss ein kategorie-namen stehen.
    http://codex.wordpress.org/Function_Reference/get_cat_ID

    wenn da eine kategorie-ID steht, oder ein unbekannter kategorie-namen, dann werden moeglicherweise alle kategorien angezeigt.

    du kannst zum testen hier eine kontrollausgabe einbauen:

    PHP
    $cat = get_cat_ID($newstopic);
    $cat_slug = get_category($cat)->slug;


    zum testen in das folgende umaendern:

    PHP
    $cat = get_cat_ID($newstopic);
    if( !$cat ) echo 'Kategorie nicht erkannt'; //testausgabe
    $cat_slug = get_category($cat)->slug;
    echo 'Kategorie-Slug:' . $cat_slug; //testausgabe



    der pastebin-code hat noch keine benutzer-feld-abfrage fuer die post-anzahl; gibt es evtl noch eine andere datei irgendwo?

  • der pastebin-code hat noch keine benutzer-feld-abfrage fuer die post-anzahl; gibt es evtl noch eine andere datei irgendwo?


    Wie muss die Abfrage aussehen? geht das nicht einfach über dieses posts_per_page? Das habe ich ja bisher nur statisch (wär das sonst equivalent zum Newstopic?)

    Also er wirft im Moment die Fehleranzeige, dass er keine Kategorie gefunden hat. Das obwohl ich überprüft hab, dass der name das benutzerdefinierten Feldes und der inhalt richtig geschrieben sind und der Slug existiert.

    Hat jemand eine Idee?

  • Zitat

    der pastebin-code hat noch keine benutzer-feld-abfrage fuer die post-anzahl;

    diese, meine anmerkung bezieht sich auf deinen satz:

    Zitat

    Sowohl die anzahl als auch die Kategorie wird als benutzerdefiniertes Feld eingestellt

    wenn das ueber die 'posts_per_page' eingestell wird, ist das auch OK.

    Zitat

    Das obwohl ich überprüft hab, dass der name das benutzerdefinierten Feldes und der inhalt richtig geschrieben sind und der [COLOR=#306582]Slug[/COLOR] existiert.


    was ist jetzt genau im 'newstopic'?
    das benutzerdefinierte feld muss den kategorie-namen (nicht den slug) enthalten (hatte ich schon angemerkt).

    wenn du den slug ins benutzerfeld schreiben willst, aendere diese zeilen im code:

    PHP
    if ($newstopic) : //der zweite loop wird nur verwendet wenn das benutzerfeld ausgefuellt ist//
     
    $cat = get_cat_ID($newstopic);
    $cat_slug = get_category($cat)->slug;
                ?>
    <?php query_posts('post_per_page=6&category_name=' . $cat_slug); ?>


    in das hier:

    PHP
    if ($newstopic) : //der zweite loop wird nur verwendet wenn das benutzerfeld ausgefuellt ist//          ?>
    <?php query_posts('post_per_page=6&category_name=' . $newstopic); ?>
  • Super, jetzt hat alles geklappt! Der Fehler wär mir nie aufgefallen, wenn ich nicht einmal Slug und Kategorie anders genannt hätte :D Ist ja echt nice, was man mit Wordpress alles machen kann^^

Jetzt mitmachen!

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