WordPress Plugin: Liste Artikel einer Kategorie


Dieser ziemlich neue Plugin List Category Posts (hochgeladen in WordPress am 24.11.2010) erfreut sich sehr grosser Beliebtheit und hat innerhalb von nicht ganz zwei Monaten bereits ueber 89.000 Downloads erreicht. Also habe ich mir gedacht, wenn so viele Leute den Plugin gut finden, muss da ja was dran sein und den Plugin auch bei mir installiert.

Hinzugefuegt am 5.9.2011: Seitdem ich diesen Artikel geschrieben habe, ist dieser Plugin vom Programmierer ueberarbeitet worden und arbeitet jetzt FEHLERFREI! Ich benutze diesen Plugin fast ueberall: in den Seitenleisten, in den Artikeln, etc. Der Plugin ist ein grossartiger Beitrag zur Funktionalitaet von WordPress.

Laut der Beschreibung des Plugins auf der Homepage des Programmierers Picando Código macht der Plugin so ziemlich alles, was man sich so wuenschen kann.

  • name – Zeige Artikel eine Kategorie beim Namen der Kategorie.
    Beispiel: [catlist name=mycategory]
  • id – Zeige Artikel einer Kategorie bei deren ID Nummer.
    Beispiel: [catlist id=24]
  • orderby – Organisiere die Liste nach Deinen Wuenschen
    • author – Sortiere nach dem Autor bei seiner ID
    • content – Sortiere nach Inhalt
    • date – Sortiere nach Datum
    • modified – Sortiere nach dem letzten Bearbeitungsdatum
    • title – Sortiere alphabetisch nach dem Titel
  • order – Sortiere absteigend oder aufsteigend:
    • ASC – Ascending (aufsteigend – niedrigster Wert zum hoechsten)
    • DESC – Descending (absteigend, hoechster Wert zum niedrigsten).
      Beispiel: [catlist name=mycategory orderby=title order=asc]
  • numberposts – Bestimme die Zahl der angezeigten Artikel. 0 um die maximal moegliche Zahl anzuzeigen; -1 um jegliches Limit aufzuheben. Standardeinstellung: 5
    Beispiel: [catlist name=mycategory numberposts=10]
  • date – Zeige das Datum zum Artikel. Standardeinstellung ’no‘ (nein)
  • author – Zeige den Autor. Standardeinstellung ’no‘ (nein)
  • excerpt – Zeige einen Ausschnitt vom Artikel. Standardeinstellung ’no‘ (nein). Falls ein Ausschnitt gezeigt wird, dann sind das die ersten 255 Zeichen
  • catlink – Zeige den Titel der Kategorie mit einem Link zur Kategorie. Bearbeite das im Template System unter der Variable “$cat_link_string”. Die Standardeinstellung ’no‘ (nein).
    Beispiel: [catlist catlink=yes]
  • comments – Zeige die Zahl der Kommentare fuer jeden Artikel. Standardeinstellung ist ’no‘ (nein).
    Beispiel: [catlist comments=yes]

Kling gut, nicht?

Auf den ersten Blick funktioniert der Plugin auch ganz gut, und veroeffentlicht eine Liste der Artikel der gewuenschten Kategorie innerhalb eines anderen Artikels. Zwar habe ich eine Weile gebraucht, um rauszukriegen, wo ich die ID fuer die Kategorie finde, aber dann mit [catlist id=xx,yy] (xx,yy die ID’s der entsprechenden Kategorien) kam eine schoene Liste mit allen Artikeln der entsprechenden Kategorien raus.

Nicht ganz klar ist mir, warum individuelle Einstellungen des Plugin nur in einem Widget vorgenommen werden koennen, weil das bedeutet, dass ich das Widget in meine Sitebar ziehen muss und aktivieren; dann habe ich aber die Kommentare auf jeder Seite meines Blogs. Sobald ich das Widget wieder zurueckziehe, faellt alles wieder auf die Voreinstellungen zurueck.

Naja, damit koennte man ja noch leben und wenn man lediglich eine einfache Liste in einem oder zwei Artikeln haben will, dann ist der Plugin wahrscheinlich auch ok.

Mein Problem war jedoch, dass ich den Listen Ueberschriften geben wollte (die Kategorie zu welcher die Artikel gehoeren). Gemaess der Pluginbeschreibung sollte das moeglich sein. Aber egal wie und wo ich [catlist id=xx catlink=yes] einfuegte, es passierte nichts. Man kann natuerlich den Kategorie-Titel und entsprechenden Link auch einfach in den entsprechenden Artike reinschreiben, aber das bedeutet dann, wenn man die Kategorie mal umbennt, dass man sich immer erinnern muss, in welchen Artikeln man Links hat und das dann manuell in jedem einzelnen Artikel aendern. Daher wollte ich den Kategorienamen mittels der Kategorie ID ermitteln lassen und als Ueberschrift ueber den entsprechenden Listen einfuegen.

Laut Beschreibung des Programmierers (siehe oben) war das moeglich; so habe ich gestern den gesamten Tag in diversen Foren verbracht, rauszufinden wie das geht und was ich falsch mache.

Heute morgen, nach vielleicht insgesamt 10stuendiger Suche bin ich auf folgenden Artikel gestossen: Plugin List Category Posts Sharing My Own Template in LCP

Da hat jemand das selbe Problem gehabt; und so wie ich, ist auch er kein Programmierer, sondern lediglich ein ‘advanced’ Nutzer. Er weist in seinem Artikel auf etliche Fehler in der Plugin – Programmierung hin und so habe ich also angefangen, mich mit den php Dateien auseinanderzusetzen und tatsaechlich sind da Fehler drin, die sogar ich als Laie erkennen kann.

Beispielsweise:

  1. In list_cat_posts.php
    99 if ($cat_link_string != ''){
    90 $lcp_output = '>p<>strong<' . $cat_link_string . '>/strong<>/p<';
    91 } else {
    92 $lcp_output = '';

    Da passiert nichts! Falls der $cat_link_string nichts (“) zeigt… kann auch nichts gezeigt werden, weil die Variable entweder “no” oder “yes” sein muss. Kein Wunder, dass nichts passiert.

  2. Die Datei template/default.php enhaelt die Information, wie die Kategorie angezeigt werden soll, ist aber in list_cat_posts.php nicht aktiviert:
    26 */
    27
    28
    29 include('list_cat_posts_widget.php');
    30
    31 /**

    Also habe ich in Zeile 30 include(‚template/default.php‘) eingefuegt. Vielleicht (?) war das auch ein Fehler, denn…

  3. Daraufhin meldete WordPress einen fatalen Error in template/default.php in den Zeilen 36 und 37, welcher zum Zusammenbrechen meiner gesamten Webseite fuehrte:
    36 foreach($catposts as $single):
    37 $lcp_output .= '>li<>a href="' . get_permalink($single-<ID) . '"<' . $single-<post_title . '>/a<';

Ich konnte WordPress nicht mehr laden, um den Plugin zu deaktivieren und musste mittels FTP auf den Server gehen und die template/default.php dort loeschen. An dieser Stelle habe ich dann aufgegeben… das alles wurde inzwischen fuer mich zu ‘advanced’. Ich bin kein Programmierer. Klar koennte ich Stunden und Tage damit verbringen, mir dieses Wissen anzueignen; aber wenn ich in einem Plugin als Laie bereits drei Fehler finde (und wahrscheinlich sind da noch mehr), kann das kein guter Plugin sein.

Ich staune, dass ueber 89.000 Leute den Plugin hochgeladen haben und nur der eine Beitrag, den ich heute morgen gefunden habe (veroeffentlicht vor zwei Wochen) auf die vielen Bugs und Fehler in diesem Plugin hinweist.

Selbstverstaendlich habe ich auch versucht, den Code, den Chocolaterebel veroeffentlicht hat gegen meinen Code auszutauschen, aber auch da gab es Error Meldungen, und WordPress deaktivierte den Plugin.

Nun habe ich den Plugin List Category Posts deinstalliert und bin nun auf der Suche nach einem anderen Plugin oder einer anderen Moeglichkeit, Artikel von einer Kategorie in einem anderen Artikel aufzuzaehlen, dabei die Kategorie ID zu nutzen und auch den Kategorie Titel automatisch (entnommen von der ID) als Ueberschrift anzeigen zu lassen.

Ein Plugin muss meiner Ansicht nach nicht nur nutzerfreundlich sein, sondern vor allem fehlerfrei arbeiten und nicht dem Bediener stundenlange zusaetzliche Arbeit bescheren, um irgendwelche Fehler zu beheben. Ok, man kann natuerlich auch sagen, einem geschenkten Gaul schaut man nicht ins Maul; es gibt jedoch tausende Plugins fuer WordPress, die einwandfrei funktionieren.

Mein Dank an:
Die beiden wichtigsten Hinweise und Loesungsvorschlaege, wie man HTML und php code in einem WordPress Artikel publiziert, ohne dass WordPress oder Browsers den Code „uebersetzen“ und versuchen auszufuehren.
1. Dipslaying Code In WordPress PostsHow | ThemeLab

Um > mit &gt; zu ersetzen und < mit &lt; habe ich meinen originalen Code in ein Word-Dokument kopiert und dann mit Suchen-Ersetzen die Umwandlung vorgenommen. Ein Plugin ist dafuer selbst bei grossen Dateien nicht notwendig.


Last Update: 9 Januar 2011

Kategorien:Wordpress Tipps



No comments yet.

Leave a Reply / Comment




E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.