Wie heute bereits beschrieben hatte ich ein Problem mit WordPress. Da ich versprochen habe, euch über die Sache zu informieren, gibt’s jetzt ein Update: Der Bug konnte mit Hilfe eines Plugins behoben werden. Dieses gibt es nun auf meinem Blog zum Download. Falls euch Fehler auffallen kÖnnt ihr die gerne melden.
Tags: Current-Page Bugfix, current_page_item, Plugin, Wordpress, wp_list_pagesArchiv der Kategorie: Wordpress
WordPress und wp_list_pages
Bei WordPress hat man die MÖglichkeit die statischen Seiten auszugeben. Dies funktioniert so lange gut, wie man die Startseite nicht abändert. Genau diese MÖglichkeit gibt es aber:
WordPress formatiert den Code auch so vor, dass man mit CSS die MÖglichkeiten zum Verändern der Darstellung dieser ausgegebenen Liste hat. So kann man diese sehr einfach in ein Menü verwandeln. In einer schlechten Ausführung (man lernt ja immer dazu) habe ich das vor einem halben Jahr auf der Projektseite von LEON gemacht. Das seitliche Menü verwendet den Befehl wp_list_pages(). Zusätzlich ist die Startseite nicht der Blog, sondern Home (Einstellungen siehe Screenshot).
Um die Liste nun in ein Menü verwandeln zu kÖnnen, gibt WordPress einige CSS Klassen mit, die man nutzen kann. Nun zum Problem: Für alle Seiten wird die Klasse current_page_item mitgeliefert wenn sie ausgewählt sind, nur für die als Beitragsseite ausgewählte nicht. Das Problem ist bekannt und es gibt inzwischen eine lange Diskussion mit vielen LÖsungsvorschlägen. Zudem hat ein Blog auch schon eine Challenge für eine LÖsung dieses Problems ausgeschrieben.
Eine teilweise funktionierende LÖsung dazu wird im Internet überall propagiert. Ein wenig PHP Code macht es mÖglich, dass die Beitragsseite auch die nÖtige Klasse zugewiesen bekommt. Einzige Voraussetzung: Die Beitragsseite muss im Menü am Anfang oder am Ende stehen. Soll sie in der Mitte stehen, so ist dies soweit ich bisher informiert bin ein ungelÖstes Problem.
Inzwischen habe ich eine Idee entwickelt, wie man das Problem evtl. lÖsen kann. Ich werde mal versuchen ein Plugin dafür zu schreiben, denn mir macht das in letzter Zeit auch immer mehr zu schaffen. Wie ich erzählt habe mÖchte ich WordPress ja als CMS Ersatz einsetzen… Sobald ich soweit bin, werde ich euch natürlich informieren.
Da jetzt immer Öfter Beiträge zu WordPress hier erscheinen gibt’s nun auch eine eigene Kategorie dazu.
Tags: Challenge, CSS, current_page_item, Liste, Menü, PHP, Wordpress, wp_list_pagesWordPress Plugin Logged-In-Only
Nun habe ich mein erstes eigenes Plugin in einer Vorabversion online: Logged-In-Only. Anhand des Plugins ist es mÖglich, Beiträge in WordPress nur für eingeloggte Nutzer sichtbar zu machen. Im Zusammenhang mit abgeschalteter Registrierung kann damit einem definierten Personenkreis (den man dann von Hand selber registriert) die MÖglichkeit geben, einen erweiterten Bereich einer Homepage zu sehen. Mehr zum Plugin gibt’s auf der Pluginseite. Aktuelle Version: 0.7.
Das Plugin habe ich programmiert, weil ich für eine meiner Webseites einen internen und externen Bereich ermÖglichen mÖchte. Trotzdem mÖchte ich dabei nicht auf WordPress verzichten. Mit dem Plugin ist genau dies nun mÖglich. Ich werde die 20 Leute für den internen Bereich von Hand registrieren und somit intern und extern haben. Sicherlich werden für das Projekt noch das eine oder andere Plugin benÖtigt.
Da ich nun verstanden habe, wie das mit den Plugins funktioniert, werden sicherlich weitere Plugins folgen. Für die Plugins habe ich nun auch einen eigenen Bereich auf dieser Webseite eingerichtet. Dafür wurde das Menü vom Header auf die rechte Sidebar umgebaut. Der Header wird sich sicherlich auch noch ändern, sobald ich Zeit dafür habe
TYPO3, Joomla und WordPress
Eigentlich liegen Welten zwischen ihnen und trotzdem gehÖren sie in dieser Story zusammen. Für ein kleines Projekt, was gerade startet, wollte ich mal ganz krass auftrumpfen und was Vernünftiges machen. Was ist das vernünftigste, komplexeste, und beste CMS, was es auf dem Markt gibt? Klar – TYPO3. Dachte ich.
Ich fing also an, in einem ersten Versuche TYPO3 von der Webseite zu laden und auf meinem Server zu installieren und es klappte nicht. Ich bekam lediglich eine Fehlermeldung. Da mein Provider (großes Lob an dieser Stelle) anbietet, über das Kunden-Administrations-System TYPO3 per Klick zu installieren, habe ich diese Version ausprobiert und hatte sofort ein laufendes System. Theoretisch jedenfalls. Nachdem ich gefunden hatte, wo ich mich einloggen musste, stieg ich erst mal gar nicht durch. Die deutsche Sprache habe ich noch installiert bekommen, irgendwelche Seiten auch, aber spätestens beim Template war’s mir dann zu viel. Ich merkte, dass mein Vorhaben doch sehr viel Zeit brauchen würde. Also entschied ich mich für weniger Zeit und ein anderes CMS.
Joomla war mein nächster Kandidat. Dieses CMS war schnell runtergeladen und aufgesetzt, aber auch hier merkte ich, dass es ziemlich überladen war. So viele Dinge, die ich für das neue Projekt wahrscheinlich nie brauchen würde. Zudem hätte ich mich auch hier wieder ganz von vorne einarbeiten müssen. So flog auch dieses CMS schnell wieder runter und ich widmete mich meinem neuen Vorhaben:
Ich werde WordPress dazu einsetzen, um eine Internetseite zu erstellen – nein, keinen Blog, sondern eine richtige Internetseite. Ich bin selber gespannt, wie viel – ein eigentlich ja als Blogsoftware gedachtes System – Probleme mir das machen wird, aber ich gehe es erst mal sehr positiv an. Außerdem kenne ich mich mit dem System inzwischen einigermaßen aus und habe fast die ersten Plugins fertig
TYPO3, Joomla und WordPress haben also eigentlich gar nichts miteinander zu tun. Trotzdem WordPress anders gedacht ist, eignet es sich meiner Meinung nach für ein kleines Projekt perfekt auch als CMS. Zudem ist durch den Live Writer das Einarbeiten für Anfänger stark vereinfacht gegenüber den anderen Systemen. Nur des Namens wegen ein richtiges CMS verwenden? Meiner Meinung nach bei diesem Projekt Zeitverschwendung. Sollte ich meine Meinung ändern, weil ich an die Grenzen des Machbaren stoße, so werde ich euch sicher informieren
WP-Plugin (1): Der Header
Diesem Beitrag geht folgender Beitrag voraus:
Leider hat sich der Start der Serie nun doch etwas verschoben. Heute mÖchte ich aber in einem ersten Teil die grundlegenden Dinge erklären.
Wenn du ein WordPress-Plugin schreiben mÖchtest, dann brauchst du gute bis sehr gute Kenntnisse in PHP, HTML und CSS. Wenn du dich damit noch nicht so gut auskennst, solltest du vielleicht lieber erst einmal diese Dinge lernen.
Das wichtigste an einem Plugin ist der Header. Er enthält die nÖtigen Informationen für WordPress, damit WordPress das Plugin erkennt und richtig auf der Pluginseite anzeigt. Ein Header sieht z.B. folgendermaßen aus:
<?php /* Plugin Name: Name Of The Plugin Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates Description: A brief description of the plugin. Version: The plugin's Version Number, e.g.: 1.0 Author: Name Of The Plugin Author Author URI: http://URI_Of_The_Plugin_Author */ ?>
Ich kopiere einfach diesen Abschnitt und setze die von mir benÖtigten Informationen ein. Sobald ich diese Datei nun abspeichere und in das Plugin-Verzeichnis von WordPress ablege, wird mir das Plugin auf der Pluginseite zum aktivieren angeboten. Und das, obwohl noch keine Zeile Code enthalten ist.
Weitere Informationen zum Start der Pluginentwicklung bietet dir auch der WordPress-Codex. Von dort kommt auch das oben zitierte Beispiel.
Tags: Author, Blog, Blogsoftware, CSS, Entwickler, Header, HTML, PHP, Plugin, Serie, Version, WordpressSerie: Pluginentwicklung WordPress
Für diesen Blog und viele andere kommt die Blogsoftware WordPress zum Einsatz. Diese ermÖglicht es, Beiträge und Seiten zu schreiben. Sie verfügt über ein gutes Administrationsbackend. Wem das nicht reicht, der kann die Software mit Plugins erweitern. Diese Plugins lassen sich eigentlich sehr einfach schreiben – man braucht lediglich einiges an PHP und teilweise MySQL Kenntnissen.
Aller Anfang ist schwer und mein Anfang kam mir irgendwie besonders schwer vor. Deswegen mÖchte ich in einer folgenden Serie (meiner ersten dieser Art) einmal bei den wichtigsten Schritten zum ersten Plugin helfen. Da ich selber gerade mein erstes Plugin entwickele, weiß ich nicht, wie lange sich diese Serie hinziehen wird. Ich werde aber bereits in den nächsten Tagen mit einigen Grundinformationen beginnen.
Natürlich richtet sich die Serie an Entwickler und ist daher etwas technisch. Wenn ihr etwas nicht versteht kÖnnt ihr trotzdem gerne nachfragen.
Tags: Blog, Blogsoftware, Entwickler, MySQL, PHP, Plugin, Serie, WordpressDatenbankänderung mit WP 2.3
Heute wollte ich mein WordPress auf die neue Version updaten. Dazu habe ich natürlich erst mal ein Backup durchgeführt. Danach alle Sachen hochgeladen und siehe da – die Plugins funktionieren nicht mehr. Im speziellen funktioniert mein Simple Tagging Plugin nicht mehr. Woran das liegt wird im Internet bereits mehrfach beschrieben. Mit WordPress 2.3 wird nun eine eigene Taggingfunktion eingeführt. Damit diese sauber funktioniert war es anscheinend notwendig die alten Kategorien abzuschaffen. Mit abgeschafft wurden die Tabellen
- post2cat
- link2cat
- categories
Dafür sind drei andere hinzugekommen. Diese managen das Tagging und die alten Kategorien. BlÖd halt nur, dass Plugins, die auf diese Tabellen zugreifen dann nicht mehr funktionieren.
In meinem Fall war es diesmal recht einfach. Ich hatte zum Glück eine Datensicherung gemacht. Habe den alten Datensatz einfach wieder draufgespielt und alles funktioniert wieder. Den einen Beitrag den ich geschrieben habe, musste ich dann noch einmal verÖffentlichen (an dieser Stelle ein Sorry, an alle RSS Leser – ihr habt ihn wahrscheinlich zwei mal erhalten). Sobald das STP dann mit WP 2.3 klar kommt (daran wird bereits gearbeitet), darf ich mein Update wohl wiederholen.
Eine Sache, die mir in Bezug auf Plugins in der kurzen Zeit mit WordPress 2.3 bereits ins Auge gesprungen ist: Es wird darauf hingewiesen, wenn das Plugin in neueren Versionen zur Verfügung steht. Finde ich eine gute und wirklich nützliche Funktion.
[tags] WordPress, Plugin, Simple Tagging, Datenbank, RSS, Update[/tags]
Tags: Datenbank, Plugin, RSS, Simple Tagging, Update, Wordpress