WordPress Plugin: kandidaten2013.de

Zur Landtags-, Bezirkstags- und Bundestagswahl gibt es in Bayern ein Portal auf dem man sich über die Kandidaten der Piratenpartei informieren kann. Dieses ist noch nicht vollständig gefüllt findet man aber bereits hier: http://kandidaten2013.de

Um Profile von Kandidaten in das WordPress von Gliederungen oder Ähnlichem direkt einbinden zu können habe ich ein kleines Plugin geschrieben. Dieses ist nun auch auf der Bayern-IT installiert.

Anwendung

Nach der Installation kann man auf Seiten oder Blogpost via Shortcode einfach das komplette Profil eines Kandidaten unter Angabe seiner ID einbinden:

[kandidat]95[/kandidat]

So wird Beispielsweise das Profil von Bruno Kramm (ID=95) eingebunden. Die IDs aller Kandidaten kann man hier einsehen:
http://www.kandidaten2013.de/liste.html

Hier 2 Screenshots, wie das ganze in den Themes Piratenkleider und Scapegoat, welche bei der Piratenpartei sehr verbreitet sind, aussieht. Anpassbar ist das ganze durch CSS, beispielsweise durch das Plugin Header and Footer welches auch auf der dem WordPress-Netzwerk der Bayern-IT installiert ist.

profil_piratenkleider profil_scapegoat

Widget

Außerdem ist ein Widget verfügbar durch welches Kandidaten mit einem kleinen Profilbild, Namen und Art der Kandidatur aufgeführt weden. Verlinkt wir hier auf das komplette Profil auf kandidaten2013.de.

widget_piratenkleider widget_scapegoatwidget_settings

Es kann eingestellt werden wieviele Kandidaten angezeigt werden. Durch kommagetrennte IDs gibt man an welche Kandidaten angezeigt werden sollen. Möchte man eine zufällige Anzeige von Kandiaten haben gibt man einfach mehr IDs als anzuzeigende Kandidaten an. Bei der ID=0 wird irgendein Kandidat aus Bayern angezeigt.

Möchte man also einfach irgendeinen Kandidaten aus Bayern anzeigen nimmt man folgende Einstellungen:

Anzahl angezeigter Kandidaten: 1
Kandidaten-IDs: 0

Möchte man einen der Direktkandidaten aus Roth anzeigen

Anzahl angezeigter Kandidaten: 1
Kandidaten-IDs: 9, 23, 3

Möchte man alle Direktkandidaten aus Roth anzeigen:

Anzahl angezeigter Kandidaten: 3
Kandidaten-IDs: 9, 23, 3

Download und Weiterentwicklung

Ihr könnt euch das Plugin auf Github herunterladen, außerdem sind dort auch die Sources. Über Feature-Requests oder Weiterentwicklungen würde ich mich freuen.

@FONT-FACE, CSS und QR-Code Generator

CSS3 Generator

Wenn Ihr euch, wie ich, bei den „neuen“ CSS3 Effekten noch etwas unsicher seid welche Auswirkungen die einzelnen Parameter auf das Ergebnis haben, so ist der CSS3 Generator perfekt. Hier kann man die Werte einzeln verändern, sieht eine Live-Vorschau und kann sich zudem den generierten CSS-Code per Klick in den Zwischenspeicher laden. Hierbei wird natürlich darauf geachtet, dass die Anweisungen möglichst bei allen Browsern funktionieren, Icons zeigen an ab welcher Browser-Version der Code kompatibel ist.

http://css3generator.

Schriftarten-Konverter und @font-face Generator

Damit das Einbinden von Schriftarten via CSS bei allen Browsern funktioniert benötigt man diese in verschiedenen Datei-Formaten. Der @font-face Generator wandelt das gängige TrueType Format in die Formate .eot, .svg und .woff um stellt diese samt fertigem CSS-Code zum Download bereit. Es ist auch möglich mehrere Schriften in einem Aufwand umzuwandeln. Neben dem Generator gibt es auf der Website aber auch noch haufenweise „font kits“ freier Schriftarten, ebenfalls mit allen Dateitypen und fertigem Code zum browsen und herunterladen.

http://www.fontsquirrel.com/fontface/generator

QR-Code Generator

QR-Codes sind meist quadratische Flächen die man mit mobilen Endgeräten abscannen kann und hinter denen sich dann Texte, Kontaktdaten oder Verlinkungen verbergen. Zum Erstellen dieser Codes gibt es diverse Generatoren ich nutze immer diesen hier, da man hier neben Pixelgrafiken auch Vektoren ausgegeben bekommt. Die häufigste Anwendung finden QR-Codes zum Verlinken von Webseiten, hier gilt es zu beachten, dass der Code detaillierter wird desto länger die URL ist. Daher ist es sinnvoll lange URLs zunächst durch einen URL-Shortener zu kürzen um später Platz zu sparen.

http://qrcode.littleidiot.be/

WordPress Plugin zum Einbinden und Filtern von Inhalten aus externen Websiten

Vor-Vorwort

Dies ist mein erstes WordPress-Plugin. Mir ist bewusst, dass es im Stil „quick & dirty“ geschrieben ist und man vieles hätte besser machen können hierzu auch später noch im Ausblick.

Vorwort

Wir sind gerade dabei die Website des Bezirksverbands Mittelfranken der Piratenpartei neu zu strukturieren. Unsere Vorgabe war es die Inhalte möglichst dynamisch anzulegen und viel zu verlinken um die Pflege der Inhalte, wenn sie denn mal drin sind, gering zu halten. Ein klassisches Beispiel sind die Themen der Piratenpartei. Würde man diese manuell einpflegen so müsste man diese Seiten nach jedem Parteitag aktualisieren. Da ohnehin alles relevante auch im Wiki gepflegt ist haben wir uns überlegt ob es denn nicht irgendeine Möglichkeit gibt diese Inhalte in WordPress einzubinden. Lange Rede, kurzer Sinn: Ich habe nichts gefunden und habe mir daher überlegt dieses Plugin selbst zu schreiben.

Das Plugin

WordPress Plugin zum Einbinden und Filtern von Inhalten aus externen Websiten. Kurz PEFIEW. Das Plugin ermöglicht es durch einen Shortcode beliebige Webseiten durch Regex (Regular Expressions) zu filtern und so bestimmte Inhalte einzubinden.

Die gefilterten Inhalte werden in der Datenbank zwischengespeichert und alle 24h aktualisiert. Sollte die Website beim aktualisieren offline sein wird weiterhin die gespeicherte Version angezeigt. Ist die Website länger als 7 Tage nicht erreichbar geht eine Mail an den Seiten-Administrator. Relative Links werden automatisch in absolute umgewandelt.

Verwendung

$before$after
$url                  = URL der einzubindenden Seite
$pattern (optional)   = Regular Expression zum Filter, falls nicht angegeben wird die gesamte Seite eingebunden
$before (optional)    = String der vor dem gefilterten Inhalt ausgegeben wird
$after (optional)     = String der nach dem gefilterten Inhalt ausgegeben wird

Die Regular Expression ist im Sinne des Parameters von preg_match zu verstehen. Da WordPress Probleme damit hat wenn Parameter in Shortcodes HTML-Elemente beinhalten, und die Parameter hier klassischerweise HTML-Strings sind muss ein kleiner Umweg gegangen werden.  Statt spitzer Klammern (<,>) verwenden wir geschweifte ({,}) und statt Anführungszeichen () verwenden wir °. Das Plugin ersetzt diese Zeichen dann vor dem Parsen und Ausgeben.

Möchte man also eine nach einer Überschrift erster Ordnung mit der id „headline“ parsen und diese als Überschrift zweiter Ordnung ausgeben müsste der Shortcode folgendermaßen aussehen.

Beispiele

Einbinden des Artikels des Tages der deutschsprachigen Wikipedia

Artikel des Tages

Einbinden der Präambel unseres Grundsatzprogramms



Ausblick

Dieses Plugin entstand aus der Not aber es tut das was ich will, daher halte ich es für sehr wahrscheinlich, dass ich daran vorerst nicht weiterentwickeln werde. Ich habe es aus diesem Grund auf GitHub geladen und Interessierte zur Mitarbeit auf.

https://github.com/sahne123/Wordpress-Plugin-zum-Einbinden-und-Filtern-von-Inhalten-aus-externen-Websiten.-Kurz-PEFIEW.

Ideen wie man das Plugin verbessern könnte: Einzubindende Inhalte und deren Filter etc. sollten in einem Administrationsmenü durch Textfelder eingespeichert werden. Dadurch erspart man sich die geschweiften Klammern und es ist übersichtlicher. Diese Inhalte sollten dann durch einen Shortcode + ID auf den Seiten eingebunden werden können. Bei diesem Vorgehen könnte man dann auch die Refresh-Rate eines Inhalt und die Warnung für jeden Filter individuell einstellen.

Download

Download von PEFIEW