Archiv für die Kategorie „WordPress“

WordPress 3.0 veröffentlicht

Freitag, 18. Juni 2010

Heute wurde die Finale Version von WordPress 3 freigegeben. Die WordPress-Entwickler haben es mit dieser Version geschafft, aus einer ursprünglich für Online-Tagebücher gedachten Software, ein vollwertiges CMS zu machen. Dabei ist für den Benutzer vieles so einfach geblieben wie zum Anfang.

Die interessantesten Neuerungen sind, aus meiner Sicht, die flexiblere Navigation und die Möglichkeit individuelle Beitragstypen zu erstellen. Dadurch werden viele Erweiterungen und individuellen Code-Anpassungen überflüssig die ich in bisherigen Installationen vorgenommen habe. Damit diese Neuerungen genutzt werden können, müssen allerdings bestehende Themes angepasst werden.

In WordPress 3 wird das Zusammenstellen von individuellen Menüs ein Kinderspiel. Per Drag und Drop werden die Einträge beliebig angeordnet. Hier am Beispiel der Seite www.lkg-spremberg.de

Weiter interessante Neuerungen sind die integrierten Hilfetexte die dem Anwender Tipps in der Bedienung der Software geben, und die Möglichkeit mit einer einzigen Installation auf mehreren Internetseiten individuelle Blogs zu erstellen. Mehr Infos gibt es bei WordPress Deutschland.



Umsetzung von groetschelgruppe.de

Mittwoch, 10. März 2010

Die Internetseite Grötschel GmbH wurde Anfang diesen Jahres gründlich überarbeitet. Das Design stammt von der Chairlines Medienagentur, welche mich mit der Umsetzung beauftragte. Auslöser war, dass das bisherige CMS den Ansprüchen an die Seite nicht mehr gerecht wurde. Die Umstellung auf WordPress ermöglicht dem Kunden ein komfortables Bearbeiten der Seite und eine Vielzahl neuer Möglichkeiten und Funktionen.

Die Grötschel GmbH existiert seit 1853 und bietet Leistungen in den Bereichen Metallbau, Industriemontagen, Automatisierung, Instandhaltung und Projektmanagement.



Umsetzung von atz-welzow.de

Samstag, 6. Februar 2010

Das Archäotechnische Zentrum Welzow päsentiert sich seit Anfang diesen Jahres im Internet. Die Umsetzung des Designs als WordPress-Theme erfolgte dabei durch mich.

Ein besonderer Hingucker sind Navigation und Galerieauflistung, die mit JavaScript-Effekten Verfeinerung wurden.



Kleine Anpassungen im WordPress Editor

Donnerstag, 21. Januar 2010

Bei meinen bisherigen Anpassungen von WordPress habe ich meist einen weiten Bogen um den grafischen Editor, den TinyMCE, gemacht. Für die meisten Belange ist dieser WYSIWYG-Editor völlig ausreichend. Und an manchen Stellen bietet er mir (bzw. vor allem meinen Kunden) bereits zu viele Möglichkeiten. Anpassungen an dieser Komponente sind schwierig, aufgrund der Komplexität der Einbindung. Außerdem ist bei mir immer im Hinterkopf, dass sich die Hooks, über die man Anpassungen vornehmen kann, jederzeit ändern können.

Daran hat sich auch nichts geändert. Allerdings setze ich in letzter Zeit deutlich mehr Systeme mit WordPress um. D.h. auch, dass ich mehr Schulungen durchführen muss. Und die Probleme und Verständnisschwierigkeiten die der TinyMCE manchmal hervorruft kosten dann natürlich auch Zeit.

Zwei Änderungen wurden daher notwendig:

  1. Das Ausblenden von “Adresse”, “Monospace”, “Überschrift 1″ und “Überschrift 2″ aus dem Format Auswahlfeld (formatselect).
    Ziel ist es dem Benutzer die Möglichkeit der Formatierung zu erlauben, allerdings nur so, dass es ins Gesamtdesign und den Seitenaufbau passt.
  2. Einige Formatierung der Vorschau des WYSIWYG-Editors.
    Der Benutzer soll eine genauere Rückmeldung bekommen mit welcher Formatierung er gearbeitet hat und wie der Text auf der Seite aussieht.

Hier eine Vorschau auf das Ergebnis:

Bitte anklicken zum Vergrößern

Die Änderungen werden ausschließlich mit CSS abgewickelt. Zum Einbinden des CSS-Codes ist aber natürlich PHP notwendig. Da ich nicht jede kleine Anpassung in ein Plugin packen will, und kein Fan von Sammel-Plugins bin, kommt der PHP-Code in die functions.php des aktuellen WordPress-Themes. Die beiden benötigten CSS-Dateien kommen ebenfalls ins aktuelle Theme-Verzeichnis. Wer es anders machen will kann es gern tun.

So wird’s gemacht:

Folgender Code bindet die CSS-Datei für die Button-Leiste (oder besser für den gesamten Admin-Bereich) ein:

function tm_CustomAdminCSS() {
    echo '<link rel="stylesheet" href="'
         . get_bloginfo('template_directory')
         . '/my_admin.css" type="text/css" media="all" />
';
}
add_action('admin_head', 'tm_CustomAdminCSS');

Über den Hook “admin_head” wird die Datei “my_admin.css” eingebunden in der nun alle CSS-Anpassungen gesammelt werden die für den Administrationsbereich gelten sollen. Da ich lediglich ein paar Einträge aus dem MCE entfernen und die anderen Einträge formatieren will, sieht meine Datei so aus:

.mce_pre,
.mce_address,
.mce_h1,
.mce_h2 {
    display: none;
}
#menu_content_content_formatselect_menu_tbl .mceMenuItemTitle {
    display: none;
}
#menu_content_content_formatselect_menu_tbl .mceText {
    font-size: 1.3em;
    font-weight: normal;
}
#menu_content_content_formatselect_menu_tbl .mce_h4 .mceText,
#menu_content_content_formatselect_menu_tbl .mce_h5 .mceText,
#menu_content_content_formatselect_menu_tbl .mce_h6 .mceText {
    color: #97bf0d;
    font-weight: bold;
}

Der TinyMCE arbeitet intern mit einem iframe, in dem er Benutzer ein grafisches Editorfeld vorgauckelt. Um für dieses iframe CSS-Daten zu übergeben ist folgender PHP-Code nötig:

function tm_custom_tinymce_css($wp) {
    $wp .= ',' . get_bloginfo('template_directory')
               . '/advanced_tinymce.css';
    return trim($wp, ' ,');
}
add_filter( 'mce_css', 'tm_custom_tinymce_css');

Das WYSIWYG-Fenster erhält seine CSS-Daten gepackt. Mit dem Filter “mce_css” kann an das PHP-Script, welches die CSS-Dateien packt, eine weitere Datei angehangen werden.

Die CSS-Datei “advanced_tinymce.css” enthält folgenden Code:

* {
    font-family: Arial,sans-serif;
}
h3 {
    font-size: 1.4em;
    font-weight: normal;
    margin-bottom: 0em;
}
h4,h5,h6 {
    color: #97bf0d;
    font-size: 1.3em;
    margin-bottom: 0em;
}

Die Standartschrift wird auf Arial gesetzt und die Formatierung der Überschriften wird angepasst. Da die CSS-Datei lediglich angehangen wird, bleiben alle sonstigen Formatierungen erhalten. Damit die Änderungen aktiv werden muss der Browsercache geleert werden.

Fazit

Mit wenigen Zeilen PHP- und CSS-Code lässt sich bereits einiges Erreichen. Da die Anpassungen nicht im Kern des Systems vorgenommen werden, sondern per Hooks und Filtern, überleben sie auch das nächste Update. Erst wenn sich die Hooks oder die angesteuerten CSS-Klassen ändern, kommt es zu Problemen. Aber das kommt zum Glück nicht alle Tage vor.

Quellen & Links:



WordPress 2.6 Versionierungssystem

Mittwoch, 16. Juli 2008

Wie bereits angedeutet bringt das neue WordPress 2.6 auch ein eingebautes Versionierungssystem (engl. Revision Management) mit. Zu jedem Artikel und jede Seite bleiben neben der aktuellen gespeicherten Version auch die zurückliegenden Versionen erhalten.

Die Vorteile liegen klar auf der Hand: Datenverlust durch Fehler im Editor oder eigene Schusseligkeit können verhindert werden. Da das Versionierungssystem im Hintergrund arbeitet, bekommt der Anwender unter Umständen gar nichts davon mit. In den Erweiterten Optionen eines Artikels bzw. einer Seite lassen sich die bisher vorhanden Versionen ansehen (“Seitenüberarbeitungen”). Durch einen Klick auf eine der Revisionen lässt sie diese anzeigen. Auch ein Vergleich mit einer anderen Version ist möglich.Vergleich von Revisionen

Nachteile eines solchen Systems sind der erhöhte Speicheraufwand, denn für jede Änderung werden die Daten zu dem Artikel / der Seite komplett gespeichert. Wer den Speicheraufwand minimieren will kann das Versionierungssystem auch abschalten oder die Anzahl der Revisionen einschränken. Auf den WordPress-Entwicklerseiten wird in einem provisorischen Eintrag erklärt wie man das machen kann. Dazu ist es notwendig eine kleine Zeile in die Datei “wp_config.php” einzufügen.

  • define(‘WP_POST_REVISIONS’, FALSE);
    Schaltet das Versionierungssystem aus.
  • define(‘WP_POST_REVISIONS’, 3);
    Lässt nur drei Revisionen zu. Die aktuellsten drei Revisionen bleiben erhalten. Ältere Speicherzustände werden gelöscht.

Eine komfortable Einstellung im Administrationsbereich gibt es leider noch nicht.