WordPress-Archiv: Beliebige Anzahl von Posts aus einem bestimmten Zeitraum anzeigen

Weil ich gerade fast daran verzweifelt wäre und das eingentlich eine Standardfunktion bei WordPress sein müsste, schreibe ich hier kurz, wie man eine beliebige Anzahl von Posts aus einem bestimmten Zeitraum auf der WordPress-Archivseite anzeigt. Das Problem ist, dass WordPress für alle Seiten (Archiv, Suchergebnisse, …) immer die gleiche Anzahl an Posts anzeigt, wie auf der Startseite. Das ist leider sehr unpraktisch, man muss daher den Umweg über query_posts gehen. Ich möchte in meinem Beispiel alle Posts aus der Kategorie 1 und dem entsprechenden Archiv-Monat anzeigen lassen. Das geht so:

<?php
query_posts(‘cat=1&showposts=-1&year=‘ .get_the_time(‘Y').‘&monthnum=‘ .get_the_time(‘m'));?>

Die -1 besagt, dass alle Einträge angezeigt werden sollen. Dort kann aber auch eine biliebige andere Zahl eingetragen werden. cat gibt die Kategorie an, die anderen beiden Variablen das entsprechende Datum (vierstellige Jahreszahl Y und zweistellige Monatsnummer m). Das obige PHP-Snippet kommt an den Anfang des Templates (nach get_header). Anschließend kann es wie gewohnt mit if (have_posts() weitergehen. Ich hoffe, dass das 1. jemandem hilft und dass WordPress es 2. innerhalb der nächsten Jahre Jahrzehnte mal geschissen kriegt, solche Standardfeatures etwas bequemer zugänglich zu machen.

PS: Beispiel für die Site mit einem Post auf der Startseite, aber alle im Monatsarchiv: Song of the Day / Archiv

WordPress: Nur eine Kategorie auf der Startseite (Update)

Update siehe am Ende diesen Artikels…
Hier hatte ich mich schon einmal dezent drüber ausgelassen, was ich an WordPress suboptimal zum Schreien finde, mittlerweile is WordPress 3 da und man kann sagen: viel geändert hat sich nix.
Einzig positiv und auffällig herausragend sind die Menüoptionen, endlich kann man Seiten und Kategorien nach Herzenslust mischen und Sortieren. Yeah.

Die Auswahl, was auf der Startseite angezeigt wird ist so Murx wie eh und je. V3 ick hör Dir trapsen.
Grad hab ich mich mal wieder gefühlt eine Woche mit der Problematik rumgeschlagen, auf die Startseite eine Kategorie bringen zu wollen. Prinzipiell, so macht es uns die WP-Doku und eine Quazillion Hilfeschreie im Netz weis, geht das vor dem Loop so:
<?php query_posts($query_string . "cat=1");?>
(1 in dem Falle die Kategorie)
Macht erstmal was. Auf /page2/ kann man sich dann an identischem Inhalt wie auf der Startseite erfreuen.
<?php if (is_home() && !is_paged() ){query_posts($query_string . "cat=1");}?>
Macht erstmal was. Auf /page/2 kann man sich dann daran erfreuen, dass alle Kategorien wie im Standard durcheinandergewürfelt werden. Die Pagination ändert sich somit auch. Fein.

Nach stundenlangem Rumgefrickel und rumgesuche habe ich endlich die Lösung gefunden:

<?php if ($paged == '') $offsetcount = 0;
else $offsetcount=(10*$paged)-10; /* Seitenoffset festlegen anhand der Paging-Nummer */ ?>
<?php query_posts('cat=1&showposts=10&offset='. $offsetcount ''); ?>

Das war ja mal wieder einfach!!!11eins

Update:
Konrad macht mich drauf aufmerksam, dass die cat mit einem & aufgerufen werden muss, also:
<?php query_posts($query_string . "&cat=1");?>
Feine Sache … wenn man’s weiss.
Danke!

Wenn ich nix übersehen habe, macht das, was ich will. Mal kucken, welchen Strich WP mir da wieder durch die Rechnung machen kann. (Tada! Siehe Kommentare)

WordPress: Intypo vs Caption Update³ gelöst

Update 06.10.2010: Das offizielle Plugin hier enthält nun auch die Patche.
Die korrekte Funktionsweise kann man hier unten im Testbeitrag begutachten.
############
Frauentag!

Sidney hat mir im GEN geholfen, den Fehler nun endlich – soweit ich sehe – ohne Nebenwirkungen beheben zu können.
Dies ist der Patch:
Zeile 53 von INTYPO durch:
$textarr = preg_split('/(<[^>]*>|(?<!\[)\[\b[^\/\]]*\/?\](?:.+?\[])?)/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);

ersetzen. Zeile 57 wie bereits hier beschrieben von:
if (isset($curl{0}) && '<' != $curl{0} && $next) {
nach:
if (isset($curl{0}) && '<' != $curl{0} && '[' != $curl{0} && $next) {
ändern.
Voila!

Der bisherige Patch hatte die dumme Angewohnheit, in bestimmten Konstellationen Text zu verschlucken. Den kaputten Patch lösche ich hier aus dem Artikel um nicht allzuviel Verwirrung zu stiften.

Dies ist ein Testcase für das Problem, dass Bilder in WordPress keine Bildunterschrift bekommen, wenn das Plugin Intypo installiert ist. Das Problem wird hier beschrieben und teilweise gelöst. Allerdings nur teilweise, da es nur das erste Bild in einem Artikel trifft, bei den Folgenden wird wurde die Bildbeschreibung entfernt.

Mit Beschreibung (Caption):

bild1

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec turpis leo, quis lobortis ligula. Maecenas posuere velit in purus dictum at mattis quam sodales. Proin in massa eu tortor consectetur scelerisque tincidunt sit amet erat. Suspendisse euismod nibh ac tortor pretium feugiat. Phasellus interdum odio faucibus erat ultricies euismod. Nulla lobortis, ipsum sed elementum ultricies, quam quam sollicitudin est, non congue odio lectus id tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti.

Mit Beschreibung, wird gefressen:

bild2

Donec elementum, mi eu bibendum suscipit, diam nisl faucibus sapien, eget pretium elit nisl nec mi. Nullam porta dapibus lacus, quis elementum lectus sagittis vitae. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque eget elementum nisi. Sed id ipsum id nisl egestas fringilla. Aliquam a felis ipsum, sit amet vestibulum erat. Integer magna elit, faucibus non vulputate eget, fringilla ac mi. Fusce non nulla eget enim tempus sollicitudin. Mauris laoreet nisl sed erat adipiscing dapibus. Nunc posuere sem lorem, vel sollicitudin nisi. Sed nec mauris sapien.

Ohne Beschreibung:

Pellentesque tempus magna et est scelerisque porttitor. Ut ipsum quam, commodo in commodo sodales, porttitor et ante. Cras molestie, lorem eget feugiat varius, nisi dui facilisis nulla, vel laoreet nulla est nec nunc. Cras sed dui urna. Maecenas id nunc iaculis lacus ultricies fermentum vel id nulla. Phasellus nisi ipsum, facilisis sed accumsan in, varius nec nisl. Nunc et enim vitae libero rhoncus euismod. Curabitur mattis facilisis lorem, a lacinia urna pulvinar non. Curabitur faucibus porta aliquet.

Nochmal mit Beschreibung:

bild 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec turpis leo, quis lobortis ligula. Maecenas posuere velit in purus dictum at mattis quam sodales. Proin in massa eu tortor consectetur scelerisque tincidunt sit amet erat. Suspendisse euismod nibh ac tortor pretium feugiat. Phasellus interdum odio faucibus erat ultricies euismod. Nulla lobortis, ipsum sed elementum ultricies, quam quam sollicitudin est, non congue odio lectus id tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse potenti.

Donec elementum, mi eu bibendum suscipit, diam nisl faucibus sapien, eget pretium elit nisl nec mi. Nullam porta dapibus lacus, quis elementum lectus sagittis vitae. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque eget elementum nisi. Sed id ipsum id nisl egestas fringilla. Aliquam a felis ipsum, sit amet vestibulum erat. Integer magna elit, faucibus non vulputate eget, fringilla ac mi. Fusce non nulla eget enim tempus sollicitudin. Mauris laoreet nisl sed erat adipiscing dapibus. Nunc posuere sem lorem, vel sollicitudin nisi. Sed nec mauris sapien.

Langeweile? Dem kann abgeholfen werden! (update)

Man macht ein WordPress-update.

Ach, die aktuellen WP-Versionen laufen nur noch unter Mysql5?
Ich finde das ganz grossartig, da hat man viele verschiedene Szenarien, wie einem nicht langweilig wird.

Lösungen für:

  1. ganz wenig Langeweile:
    • die Datenbank ist bereits Mysql5. Update machen, zurücklehnen, und was anderes ausdenken
  2. wenig Langeweile:
    • man erstellt eine Mysql5-datenbank zusätzlich, kopiert die Mysql4-datenbank hinein, passt die config an, Update machen, fertig
    • möglicherweise gibt’s beim Hoster einen Migrationsbutton, update machen, fertig
  3. mehr Langeweile:
    • Das Hostingpaket hat nur eine Datenbank. DB runterladen. DB löschen. DB mit Mysql5 erstellen, DB hochladen. Config anpassen, Update machen, fertig
  4. viel Langeweile:
    • Das Hostingpaket bietet keine Mysql5-Datenbank an. Hoster wechseln, Mit etwas Glück kann man schon 2 Wochen später dann zu Punkt 3
  5. Bonus für Hartgesottene zu Punkt 2-4:
    • Wo man einmal so einen Aufriss macht, kann man die bisherige latin_dingenskirchen_db ja gleich nach utf-8 konvertieren. Oder es zumindest mal versuchen.
    • Der DB-Upload ist auf maximal 1MB/2MB/was auch immer beschränkt, deine DB ist aber 1MB/2MB/ was auch immer +x

Noch was vergessen?

Update:

Lese gerade, dass WP nicht Mysql5 verlangt, sondern min. Mysql 4.1.2, also bezieht sich mein Artikel auf 4.0 vs 4.1.2…

P.s. Ich frage mich gerade, was eigentlich passiert, wenn man den Autoupdate-button von WP verwendet, meckert das Update eigentlich bevor die alten Dateien gelöscht werden? Vermute nicht, und glaube, dass da draussen das einige ganz lustig finden werden.

Apache: htaccess-“empfindlichkeit“ geändert?

Lieber Mike,

seit gestern Abend bin ich wieder da, und wollte gleich mal nach dem Laden gucken. Doch es geht nicht – meine Seite lässt sich nicht aufrufen, auch heute nicht. Woran könnte das denn liegen?

Mhh? Ich hab nix gemacht!!11

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Super. Weiterlesen »

Spass mit WordPress…

… hatte ich hier schon einmal fröhlicher Dinge kolportiert, nun grad habe ich 2 Tage für eine Funktionalität vertrödelt, die ich in 2 Minuten hätte haben können. Und das kam so:
Ich möchte in WordPress die Beiträge aller Kategorien generell vom aktuellsten zum Ältesten sortieren, mit Ausnahme einer Kategorie.
Die Lösung:

Tag 1:

Eine Suchmaschine füttern mit allen erdenklichen Kombinationen der Begriffe: Weiterlesen »

CMSMS – DewPlayer: Template anpassen Ⅱ

Hier hatte ich schon einmal beschrieben, wie man den Templates vom Dewplayer in CMSMadesimple eine alternative Downloadurl als Fallback für Leute ohne Flash-plugin beibringt.

So nach und nach stellt sich dann raus, dass da noch andere Anpassungen notwendig sind. Weiterlesen »

CMSMS – DewPlayer: Template anpassen

 Für CMSMS gibt es den Dewplayer als einfach einzubindendes Modul, welches zwar schick ist, aber leider etwas rudimentär in den Template-funktionen.
So macht das Modul nichts anderes, als den Flashplayer einzubinden, der die MP3-datei dann streamt.
Hier fehlt einerseits der Fallback für Browser ohne Flash und in dem Zusammenhang auch gleich noch die Möglichkeit, das File zum Download anzubieten (auch für Leute, die ein Flash-plugin installiert haben)

Um dem abzuhelfen muss man 2 Dateien bearbeiten; Weiterlesen »

Spass mit Netbeat Ⅱ½

Erst einmal muss ich etwas Asche über meinem Haupte ausschütten, und sagen dass ich mich wie so oft mit meinem überbordenden Optimismus und Glauben an alles Gute und Schöne mal wieder verschätzt habe, ja: nein, der Support bei Netbeat ist, zumindest häuft sich das, bei mir nicht dufte.
Seit einer Woche ist der Webspace einer von mir verwalteten Domain kaputt, ich hab’s langsam angehen lassen, geschaut, was da ist, dass der Space nicht überschritten wird, der Traffic auch nicht usw.
Quota Exceeded. Weiterlesen »

Besser arbeiten mit Zend-Studio Neon

zend-icon.png Bereits seit einiger Zeit gibt es für interne Tester die Zend-Studio Neon Beta. Jetzt ist sie auch für die Öffentlichkeit freigegeben. Neon basiert auf dem freien Framework Eclipse, spezieller auf der IDE PDT. Es vereint Vorteile des altbekannten Zend-Studios und Eclipse-Frameworks. Im Grunde genau dass, auf das jemand wie ich gewartet hat. Über die Featureliste will ich hier nicht unbedingt berichten, die kann jeder hier oder hier nachlesen. So viel sei gesagt: Weiterlesen »

Pages: 1 2 3