WordPress: Aufregen über schlecht programmierte Plugins

Neulich stolperte ich über ein Plugin, das einen wirklichen Mehrwert liefert, aber leider so miserabel programmiert ist, dass ich niemanden mit gutem Gewissen den Einsatz empfehlen kann. Obwohl es schon eine größere Anzahl von „You‘re doing it wrong“-Blogartikeln gibt, muss ich einfach einen weiteren Artikel darüber schreiben, da dieses nicht näher benannte Plugin so viele Dinge gleichzeitig falsch macht.
[Read more…]

Geburtstag, schon wieder!

Überraschenderweise hatte ich dieses Jahr schon wieder Geburtstag.

Herzlichen Dank an meine Ehefrau für diese tolle selbstgebackene Torte! Geschenke gab’s auch:

  • Mario Kart für die WII (wollte ich schon immer haben, ohne das Spiel wirklich zu kennen)
  • alle Star Trek Next Generation DVDs mit Aufsteller
  • Motorola Razr V3 (das will ich schon seit Jahren haben), in stylischem schwarz
  • Johann-König-Buch
  • viele Mario-Barth-CDs/DVDs (ja, ich bin bekennender Mario-Barth-Fan)
  • eine schicke Donald-Duck-Lampe
  • eine kühle Eisbär-Mütze
  • viele, viele Schlümpfe
  • von meinen Eltern eine Gürteltasche für mein Victorinox-Messer, einen größeren Tank für die Senseo-Kaffeemaschine und ganz viel Tee (hier in Rheinhessen gibt’s nichts Vernünftiges zu kaufen)
  • von meiner Schwiegermutter den zweiten Teil der kompletten McGyver-Serie

(ich hoffe, ich habe nichts vergessen). Abends ging dann in’s China-Restaurant, versuchen das Buffet zu plündern. Ging naturgemäß nicht, aber wir haben unser Bestes versucht. War ein schöner Tag.

 

Mein Lieblings-Skript für Greasemonkey

Greasemonkey ist ein praktisches Add-On für Firefox das es erlaubt, auf einfache Weise etwas Javascript auf einer Webseite auszuführen, nachdem sie geladen wurde.
Zu meinen Lieblings-Skripts gehört „Jasper’s Google Reader subscribe“ …und was macht es?
Jedes Blog, fast jede Nachrichtenseite und viele andere Websites besitzen einen RSS-Feed. Sie sind sehr praktisch, allerdings ist es häufig schwierig, den entsprechenden Link zu finden oder er wird auf der Seite gar nicht dargestellt. Dann ist die einzige Chance, den Link zu finden, eine Suche im Sourcecode. Den Code durchsuchen, während man vor einem Rechner sitzt? Lächerlich! Die Maschine soll das machen und genau dafür gibt es das Skript.
Es sucht nach Zeichenketten die „rss, „atom“ oder „rdf“ enthalten und stellt es kleines Icon am oberen rechten Rand des Browsers dar:

Bewegt man den Mauszeiger über das Icon werden Links zu allen gefundenen Feeds angezeigt:

Wie man sieht wird nicht der der Haupt-Feed angezeigt, sondern auch der Kommentar-Feed sowie mögliche andere.

Einfachere Plugin-Entwicklung durch Verschieben des Plugin-Verzeichnisses

Als erfahrener Plugin-Programmierer testet man seine Plugins nicht nur mit der allerneuesten WordPress-Version, sondern auch mit vorherigen Versionen, denn es gibt eine Menge älterer WordPress-Installationen. Man hat also die verschiedensten Versionen auf dem Entwicklungsserver installiert und möchte sein neuesten Codeänderungen mit jeder dieser Versionen testen. [Read more…]

Die geheimnissvolle Selectbox in WordPress

Neulich wollte ich auf der Optionsseite eines Plugins eine Selectbox mit 5 Einträgen erstellen. Nicht einfacher als das:

<select size="5">
  <option "test1" />
  <option "test2" />
  <option "test3" />
  <option "test4" />
  <option "test5" />
  <option "test6" />
</select>

Jeder, einschließlich mir, erwartet folgende Ausgabe:

Tatsächlich wird aber folgendes angezeigt:

Das Geheimnis liegt im stylesheet des Admin-Bereichs:

#wpcontent select {
	padding: 2px;
	height: 2em;
	font-size: 12px;
}

Dadurch wird jede Selectbox auf einen Eintrag reduziert. Warum dies so definiert ist bleibt mir schleierhaft. Zu diesem Thema existiert auch ein Ticket im WordPress-Trackingsystem, in dem das Problem seit zwei Jahren diskutiert wird.

Die Lösung des Problems ist relativ einfach:

<select style="height:auto" size="5">

Sieht einfach aus, hat mich aber eine Stunde meiner Lebenszeit gekostet.

Barcamp Mainz 2011, Erlebnisse eines Anfängers (2. Tag)

Auftakt

(Foto: netzkultur)

Die Anfahrt zum Camp war heute noch einfacher als gestern, denn Sonntags morgens um 8:15 Uhr ist nicht wirklich viel auf den Straßen los. Parkplatz war auch wieder fast leer und so war der abschließende Fußweg sehr kurz.

(Foto: netzkultur)

Beim Frühstück war es heute wesentlich ruhiger als am Vortag, die meisten klammerten sich an einen Becher Kaffee, starrten auf ihren Monitor oder saßen einfach nur rum. Der erste Tag schien vielen noch in den Knochen zu stecken. Mir ging es nicht anders, 9 Uhr am Sonntag morgen ist auch nicht unbedingt meine bevorzugte Zeit, um wach zu sein. Nach zwei Bechern Kaffee (der wirklich lecker war) und drei halben Brötchen war ich dann bereit für die Sessionplanung.
[Read more…]

Barcamp Mainz 2011, Erlebnisse eines Anfängers (1. Tag)

(Foto: netzkultur)

Das Barcamp Mainz war mein erstes „richtiges“ Barcamp, dass das WordCamp Köln ja schon alle Sessions im Voraus geplant hatte. Ich hatte also keine Ahnung, was auf mich zu kam.

Die Anfahrt war auf jeden Fall schon mal sehr angenehm, da ich nur 20 km vom Veranstaltungsort, der Uni Mainz, entfernt wohne. Also um kurz nach Acht auf die Autobahn, in Mainz zwei-, dreimal abgebogen und schon war ich da. Parken war kein großes Problem, da sich ein großer (und vor allem kostenloser) Parkplatz direkt vor dem Gebäude befand. Der Tag fing also schon mal gut an. [Read more…]

WordPress: Neuladen von Skripts und Stylesheets erzwingen

Bei der Entwicklung von WordPress-Themes oder -Plugins taucht immer wieder das Problem auf, dass Skripte oder Stylesheets nicht direkt von der Quelle sondern aus einem Cache geladen werden, weil sie irgendwo auf dem Weg vom Server zum Browser zwischengespeichert werden. Es gibt verschiedenee Möglichkeiten dieses zu unterbinden, indem man z.B. den Browsercache in den Optionen ausschaltet oder ein Webentwicklungs-AddOn benutzt. Manchmal funktioniert das allerdings nicht, weil es die verschiedensten Möglichkeiten des Cachings gibt und man vielleicht nicht alle ausgeschaltet hat.
[Read more…]

WordPress: Benutzern das Passwort-Feld entziehen

Du hast also einen Benutzer erstellt und ihm ein gutes Passwort gegeben, damit die Sicherheit Deines Blogs nicht gefährdet wird? Leider kannst Du aber nicht sicher sein, dass der Benutzer dieses gute Passwort beibehält, denn er kann es ganz einfach auf seiner Profilesiete ändern.
Dieses Problem kann allerdings mit einem Filter gelöst werden:
[Read more…]

WordPress: Titel kürzen

Eine Frage, die immer wieder in WordPress-Foren auftaucht, ist, wie man den Titel auf eine bestimmte Anzahl Zeichen kürzen und ein „…“ anfügen kann.

Das Problem ist mit einigen Zeilen PHP schnell gelöst:

1
2
3
4
5
6
7
8
9
add_filter( 'the_title', 'short_title' );
function short_title( $title ) {
  $chars = 20;
  if ( strlen( $title ) > $chars ) {
    $title = substr( $title, 0, $chars );
    $title .= " &hellip;";
  }
  return $title;
}

Die Variable $chars muss auf die Anzahl Zeichen gesetzt werden, die man maximal anzeigen möchte und in Zeile 6 muss der Platzhalter für den ausgelassenen Text eingefügt werden (&hellip; ist typografisch richtige Version für drei Punkte, Ellipse genannt).

Nachteilig an dieser Lösung ist, dass der Titel mitten in einem Wort abgeschnitten werden könnte. Wenn man möchte, kann man die Funktion entsprechend erweitern:

1
2
3
4
5
6
7
8
9
10
add_filter( 'the_title', 'short_title' );
function short_title( $title ) {
  $chars = 20;
  if ( strlen( $title ) > $chars ) {
    $title = substr( $title, 0, $chars );
    $title = substr($title, 0, strrpos( $title, ' ' ) );		    $title .= " &hellip;";
  }
  return $title;
}

Kopiert man diese Funktion in die funtions.php des Themes werden alle Aufrufe von the_title den eingefügten Angaben entsprechend gekürzt.