Erster Artikel komplett, weitere Artikel Auszug... wie?

  • Hallo liebes Forum,
    ich hoffe, dass ich diesmal etwas Hilfe von euch bekomme (sry konnte es mir nach 3 unbeantworteten Fragen nicht verkneifen).

    Ich und ein paar Freunde unterhalten einen News-Blog für die Fingerboard-Szene, welcher recht rege besucht wird. Momentan sind wir dran und gestalten die Seite nach einem Serverumzug neu.
    Wir haben uns für das "The Morning After"-Theme (ist ein 3spaltiges theme) entschieden, da es sehr unseren Wünschen entspricht. Wir sind bisher gut vorwärts gekommen und jetzt gibt´s eigentlich nur eine Sache, die mir Kopfschmerzen bereitet.
    Momentan werden in der ersten Spalte die 4 letzten Artikel als excerpt ausgegeben.

    Nun möchten wir aber den ersten dieser vier Artikel voll darstellen, also den "content". Alle vier Artikel voll darzustellen ist kein Problem. Aber diese Aufteilung. Ich habe schon einiges versucht, kenne mich aber nicht so gut in MySQL aus. Ich habe sowohl dieses Forum, als auch das Forum des Themes durchsucht und nichts verwendbares gefunden. Vielleicht kann mir ja jemand weiterhelfen. Ich würde mich sehr freuen.

    Viele Grüße

    Fabian

    PS: Die Seite selbst kann ich euch nicht zeigen, da wir sie mit dem Theme Test Drive Plugin gestalten.

    Einmal editiert, zuletzt von fabian (19. November 2008 um 10:36)

    • 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

  • Nix MySQL. Es gibt für fast alles in WP API-Funktionen die du nutzen solltest.

    Lösung 1:
    2 Loops, der 1. liefert nur einen Artikel zurück. Diesen gibst mittels the_content() und $more = 1 voll aus, der 2. gibt die weiteren mit the_excerpt() und $more = 0 gekürzt aus.

    Lösung 2:
    Nur 1 Loop mit Zähler. $zaehler = 0 (1. Post) -> $more = 1 und the_content(), sonst $more = 0 und the_excerpt().

  • Erster Beitrag

    PHP
    <?php $temp_query = $wp_query; query_posts('showposts=1&orderby=ID&order=DESC'); ?>
    <?php while (have_posts()) { the_post(); ?>

    dann statt the_excerpt natürlich the_content

    Nächsten Beiträge

    PHP
    <?php $temp_query = $wp_query; query_posts('showposts=4&offset=1&orderby=ID&order=DESC'); ?>
    <?php while (have_posts()) { the_post(); ?>

    und dort dann wieder the_excerpt.

    Müsste funktionieren. Wenn ihr nur bestimmte Kategorien auslesen wollt "&cat=1" (bzw. die Nummer der Kategorie) hinzufügen.

    (also bei mir funktionierts.)

  • oha.. vielen Dank für die Antworten... doch leider kann ich damit noch nicht wirklich viel anfangen :(

    Blaui: So etwas in der Art hab ich schon versucht, nur scheitert es wohl bei mir daran, dass ich keinen Peil habe, wo ich diese Abfrage einbauen soll. Könntest du mir das evtl erklären? :)

    marX: öhm.. interessant, aber ich kann mir momentan noch gar nichts darunter vorstellen.. sry :S

  • blauis Vorschlag ist in etwa mein Vorschlag 1. Die beiden Loops (blaui hat die Startpunkte davon gepostet) kommen dorthin, wo du die Artikel ausgeben möchtest. Soll das in einem anderen Loop stehen? Dann brauchst du statt dessen get_posts(), weil Loop in Loop geht schief.

    Ansonsten Beispiel (z.B. im Codex anschauen), versuchen nachzubauen, und bei Problemen oder Unklarheiten nachfragen. ;-)

    Die Forensuche dürfte auch so einiges liefern, das ist schon fast ne FAQ.

  • hmmm... ich komm mir langsam richtig schön doof vor :)

    ich habs jetzt mal versucht. So wie ich es verstanden hab, muss zuerst eine "query" abgefragt werden, die bestimmte eigenschaften hat (z.b. nur x posts anzeigen, nur post x bis y und so weiter)
    Dann werden passend zu dieser Query in einem Loop die Posts rausgeholt und dargestellt.

    Das dürfte doch so stimmen oder? Nur wie muss ich das ganze dann darstellen? Hab mich mal versucht und erhalte nur nen schönen blanken weissen Screen :)

    Ich muss doch den oberen Code komplett aus der Datei entfernen? Und dann hab ich diesen hier eingefügt:

    Ich mach sowas zum ersten mal, hoffe ihr habt Verständnis *schäm*

  • ich habs jetzt mal versucht. So wie ich es verstanden hab, muss zuerst eine "query" abgefragt werden, die bestimmte eigenschaften hat (z.b. nur x posts anzeigen, nur post x bis y und so weiter)
    Dann werden passend zu dieser Query in einem Loop die Posts rausgeholt und dargestellt.


    Richtig.

    Zitat

    Hab mich mal versucht und erhalte nur nen schönen blanken weissen Screen :)


    Wenn du statt "weisser Screen" weiße Seite schreibst dann bekommt der Text ne grüne Unterstreichung. Die führt dich zum Glossar, und das wiederum in die FAQ:
    Wie gehe ich am besten vor, wenn Fehler in meinem Blog auftreten? « WordPress Deutschland FAQ
    Dort steht, dass die Fehlermeldung (vermutlich) im error.log des Servers steht.

    Was mir sofort auffällt:

    Code
    while(...) {
      // mach irgendwas
    endwhile;


    Das geht schief - entweder, oder. ;-)
    PHP: Alternative syntax for control structures - Manual

    Schreib am besten mal statt der öffnenden { einen Doppelpunkt :
    (Alternative } statt endwhile)

    Und gewöhn dir am besten mal vernünftige Code-Einrückung an - das macht den Code erheblich leserlicher.

    Zitat

    Ich mach sowas zum ersten mal, hoffe ihr habt Verständnis *schäm*


    Macht ja nichts - aber dann solltest du zumindest nicht meckern, wenn du mal keine Antwort bekommst. Nicht jede Frage lässt sich beantworten - und das hier ist ein Forum, keine "Ich frage - ihr habt gefälligst zu antworten"-Maschine. :evil:

  • Sodala, probiers mal so ;) So sieht die Abfrage aus, die ich benutze und bei mir funktioniert diese auch :)

    Erster Artikel (Dahinplatzieren wo dieser ausgegeben soll)

    Die nächsten 4 Artikel (wieder dahinplatzieren wo sie erscheinen sollen).

    Wenn du diesen Code in der Index.php datei verwenden willst, siehts so aus:

    PHP
    <?php get_header(); ?>
    
    
    Hier die Abfrage(n) reinpacken.
    
    
    <?php get_sidebar(); ?>
    <?php get_footer();?>

    Wie ich grad sehe, wollt ihr noch dazu immer ein Bild auslesen?

  • Ok, dann entschuldige ich mich mal... :/ War ja auch nicht böse gemeint! Tut mir leid.


    Ansonsten: Es hat wirklich nur an diesem { gelegen! Ausgetauscht durch einen Doppelpunkt und schon hat er alles ausgegeben. Allerdings musste ich noch jeweils

    PHP
    <?php $temp_query = $wp_query; query_posts('showposts=1&orderby=ID&order=DESC'); ?>

    austauschen mit

    PHP
    <?php $temp_query = $wp_query; query_posts('cat=-' .$catid. ',-' .$catid2. '&showposts=1&orderby=post_date&order=desc'); ?>

    Weil ich zwei Kategorien davon nicht mit einbeziehe.

    Und oben war excerpt mit content vertauscht ^^

    Nun sage ich vielen, vielen Dank!!! Alles klappt wie gewollt, ich freu mich :)

    Edit: gerade erst den Post von Blaui gesehen, vielen Dank dir, aber ich habs wohl schon selbst geschafft :)

  • Ok, dann entschuldige ich mich mal... :/ War ja auch nicht böse gemeint! Tut mir leid.


    Okay. Ich sags ja nur, immerhin erwartest du hier Hilfe und solltest dich auch dementsprechend verhalten. ;-)


    Zitat

    Nun sage ich vielen, vielen Dank!!! Alles klappt wie gewollt, ich freu mich :)


    Bitte. Freut mich wenn's klappt. (Und du auch verstanden hast warum :-))

Jetzt mitmachen!

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