WordPress: Eigene Sammelaktionen (Bulk-Actions) definieren

2016-10-20_16-37-31

Hinweis: Dieser Beitrag beschreibt ein Feature, das erst in Version 4.7 verfügbar ist (geplanter Veröffentlichungstermin: 6. Dezember 2016).

Bisher war es schwierig, eigene Sammelaktionen in WordPress hinzuzufügen. Version 4.7 hat einen Hook erhalten, mit dem man einfach die Sammelaktionen erweitern kann.

WordPress: Eigene Sammelaktionen (Bulk-Actions) definieren weiterlesen

Follow-Up: WordPress als Social Bookmark Service

Hans-Helge Bürger (aka @obstschale) hat sich in seinem Blog Gedanken darüber gemacht, wie man WordPress als Social Bookmark Service nutzen kann.

Das Warum kann man bei Hans-Helge nachlesen. Nur soviel: Delicious ist zur Zeit nicht erreichbar. In diesem Beitrag möchte ich mir Gedanken darüber machen, wie ich mir einige Aspekte des Systems vorstelle.

Die Idee, eine dedizierte WordPress Instanz zu nehmen und für jeden Bookmark einen einzelne Eintrag, finde ich sehr interessant (wäre ich nicht drauf gekommen). Mit einem Multisite-System ist diese Instanz in Sekunden erstellt.

Die Grundfunktionen von WordPress liefern schon ein gutes Gerüst, um ein solches System zu erstellen. Beim Bookmarklet bin ich allerdings nicht der Meinung, dass die vorhandene „Press This“-Funktion geeignet ist. Das Formular wurde entwickelt, um Blogbeiträge zu erstellen, für Bookmarks ist es zu umfangreich und zu umständlich zu bedienen. Hier müsste ein eigenes Bookmarklet erstellt werden, das in einem Popup erscheint:

addbookmarkDieses Formular ist übersichtlicher, schneller und intuitiver zu bedienen und meiner Meinung erkennt jeder Benutzer sofort die Funktion. Je nach Webseite können viele bzw. alle Felder automatisch eingefügt werden, so dass man nur noch „Speichern“ drücken muss. Mit dem eigentlichen System kommt man gar nicht in Berührung.

Das von Tranl8or auf Slack vorgeschlagene Theme schmeichelt dem Auge, ich würde allerdings einen etwas funktionelleren Ansatz wählen:

bookmarks 2

Zum Ändern der Daten möchte ich nicht in das Backend wechseln müssen, sondern sie schnell und praktisch direkt im Frontend ändern können. Dazu sollten beim Mouseover die entsprechenden Links (Edit, Trash, …) eingeblendet werden.

Auf der Seite sollten alle Tags aufgelistet werden, denn diese sind (auf jeden Fall bei mir) das Hauptsortierungs-Merkmal. Mit einem Kategorie-Dropdown kann man die Tags dann noch weiter einschränken, z.B. „Arbeit“, „Privat“, „Sonstiges“. Dadurch sollte der Zugriff auf die Linksammlung ziemlich einfach sein, auch wenn man gerade kein passendes Suchwort zur Hand hat.

ABER: Durch de Möglichkeit verschiedene Themes zu erstellen kann jeder nach seiner Façon glücklich werden.

Social Aspekt: Den sozialen Aspekt finde ich finde ich sehr wichtig. Etwas schwierig stelle ich allerdings die technische Umsetzung vor. Die Daten sollen schließlich bei jedem Nutzer lokal liegen und die Ansprüche an den Server sollten nicht zu groß sein. Viele habe keinen dedizierten Server gemietet, sondern betreiben ihr Blog auf einem Shared-Hosting-System, evtl. sogar mit einer Traffic-Begrenzung. Es sollten sich also die Serverlast und der Traffic in Grenzen halten, wenn es darum geht, Daten zwischen den einzelnen Installationen auszutauschen.
Dies ist nämlich das grundlegende Problem dieses Projekts: die Dezentralität. Auf Delicious ist es einfach, ähnliche Linksammlungen zu finden oder Spitzenreiter des Tages zu ermitteln, denn alle Daten befinden sich auf dem gleichen System. Bei diesem Projekt hingegen bräuchte man den Kontakt zu mindestens einem anderen System, über das dann Verbindungen zu den weiteren Installationen hergestellt wird. Aber vielleicht ist dies ja auch Teil den „sozialen Aspekts“.

Träumereien
Natürlich muss zuerst das Grundgerüst erstellt und die grundlegenden Funktionen implementiert werden. Nichtsdestotrotz lasse ich mal meine Gedanken schweifen, nur um zu zeigen, welche Kapazitäten in einem solchen System stecken können:

  • Import / Export
  • Suche nach toten Links
  • Fav-Icons
  • Synchronisierung mit Browser-Bookmarks
  • Anbindung an soziale Netzwerke

Diese Funktionen müssen nicht Teil des grundlegenden Systems sein, sondern könnten als Plugins verwirklicht werden. Dazu muss das Grundsystem natürlich über reichlich Actions und Filter verfügen.

Ab geht er, der Peter!
Genug des Geschwafels, mal sehen ob genug Leute mitmachen wollen, ob meine Programmierkünste für eine sinnvolle Mitarbeit reichen und hoffen, dass das Projekt nicht in der Planungsphase stecken bleibt.

 

Alternative Methode zum Einfügen von Links

Ein Blogartikel ohne Links ist kaum vorstellbar. Der „übliche“ Weg einen Link einzufügen ist:

  1. Link in das Clipboard kopieren
  2. Linktext markieren
  3. Auf das „Link einfügen“-Icon klicken
  4. Link in das Textfeld einfügen
  5. Textfeld schließen

Vorteil: Der gesamte Vorgang lässt sich mit der Maus erledigen. Aber irgendwie bin ich mit den Arbeitsschritten (3) bis (5) nicht ganz glücklich. WordPress bietet aber eine andere Methode, einen Link einzufügen:

  1. Link in das Clipboard kopieren
  2. Linktext markieren
  3. Mit Ctrl-V den Link einfügen
  4. Mit der rechten Pfeiltaste Markierung wieder aufheben


Diese Variante ist nicht unbedingt schneller oder einfacher. Sie kommt aber meinen Gewohnheiten beim Editieren von Text etwas entgegen.

WordPress: add_filter oder add_action? Eigentlich egal!

Eine wichtige Doktrin der WordPress-Entwicklung lautet:

Benutze Aktionen, um die Funktionalität zu erweitern, und Filter, um Daten zu ändern.

Wir haben alle davon gehört und sie wird von uns immer beachtet. Immer? Nun ja, …

… wenn ich an einer bestimmten Stelle eine Funktion hinzufügen möchte und weit und breit kein Action-Hook verfügbar ist, dann nehme ich eben ein Filter-Hook ohne über die Doktrin nachzudenken.

Überraschenderweise funktioniert das auch. Aber warum? Wenn immer so darauf hingewiesen wird, dass man den richtigen Hook benutzen soll, dann muss es doch einen Unterschied zwischen den beiden Arten geben. Schauen wir doch mal hinter die Kulissen (/wp-include/plugin.php):

function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); }

Was? add_action  macht nichts anders als add_filter  aufzurufen und sonst nichts? Es gibt keinen Unterschied in der Funktionalität, es ist einfach nur ein andere Name. Es gibt also keinen Grund, warum man nicht add_filter  statt add_action  benutzen sollte, wenn es keine andere Lösung gibt.

Ich sage nicht, das man wahllos add_action  und add_filter  nehmen soll. Die Benutzung des richtigen Hook-Typs vereinfacht das Lesen und Warten des Quelltextes, für Dich und für andere. Trotzdem, wenn es einfach keine andere Lösung gibt, um ein Problem zu lösen, dann sollte man nicht zögern und einen Filter-Hook statt eines Action-Hooks zu benutzen, denn eigentlich gibt es keinen Unterschied zwischen den beiden.

WordPress: Linklist – neue Version 0.5

Für eine längere Zeit gab es keine neue Version des Plugins „Linklist“, einfach weil es funktionierte, es bestand kein Bedarf für ein Update. Neulich bekam ich eine Mail mit einem Erweiterungs-Vorschlag, den ich gerne aufgegriffen habe.

Version 0.5 erlaubt es jetzt, in einzelnen Beiträge oder Seiten die Ausgabe der Linkliste zu deaktivieren:

linklist-addnew

Das Plugin nimmt immer noch an, dass die Linkliste in jedem Beitrag und auf jeder Seite dargestellt wird, deshalb hat man das Plugin ja installiert. Man kann aber für einzelne Beiträge/Seiten die Darstellung deaktivieren indem man die entsprechende Checkbox anklickt.

Wenn man die die Darstellung der Linkliste für bereits existierende Beiträge/Seiten ändern möchte, so muss man nicht in den Editor wechseln, sondern kann einfach das „Quick Edit“ Feature nutzen:

linklist-quickedit

Ich habe mich entschieden eine Selectbox anstatt einer Checkbox zu nehmen, da WordPress den Quick-Edit-Dialog sehr eigenwillig darstellt und man es nicht beinflussen kann. (Kann man? Bitte eine Mail an mich!)

Wenn die Darstellung vieler Beiträge/Seiten geändert werden soll, muss man nicht jeden einzelnen Beitrag oder Seite einzeln editieren, sondern kann das Bulk-Edit-Feature nutzen:

linklist-bulkedit-1

Man kann die neue Version über das WordPress aktualisieren oder es im Repository downloaden.

Ältere WordPress-Plugin-Versionen herunterladen

Du hast also Deine WordPress-Plugins auf den neusten Stand gebracht…

… und Dein Blog funktioniert nicht mehr

… und Du hast kein Backup

… natürlich nicht!

Wäre es nicht schön, wenn Du die vorherige Version herunterladen könntest und Dein Blog wieder funktionieren würde? Nun… das geht! Ältere WordPress-Plugin-Versionen herunterladen weiterlesen

WordPress – Sie haben Updates!

Am 11. März wurde vom sehr beliebten Plugin „WordPress SEO“ ein Update veröffentlicht, weil die bisherige Version erhebliche Sicherheitslücken aufwies (CSRF und blind SQL injection).
Im Laufe des Tages wurden Stimmen laut, das Yoast nicht alle Möglichkeiten genutzt hat, um auf das Problem und die Update-Notwendigkeit aufmerksam zu machen.

Ich persönlich konnte das Problem nicht nachvollziehen, denn ich habe am frühen Mittag die neue Plugin-Version installiert. Wie konnte das so sein?
WordPress – Sie haben Updates! weiterlesen

WordPress: Nutzer über die Zeit der Kommentarschließung informieren

Um um vermeiden, dass Spammer die Kommentare älterer Beiträge mit sinnlosen Kommentaren zu müllen, bietet WordPress die Möglichkeit, die Kommentarfunktion eines Beitrages nach einer bestimmten Zeit zu sperren.

Kommentare schließen

Für die Benutzer könnte es aber überraschend sein, wenn die Kommentarmöglichkeit plötzlich verschwunden ist. Es wäre vielleicht eine gute Idee, sie über diesen Termin zu informieren.
WordPress: Nutzer über die Zeit der Kommentarschließung informieren weiterlesen

Nur WordPress-Beiträge abonnieren

Es sol Leute geben, die den Feed dieses Blogs nur wegen der WordPress-Beiträge abonniert haben. Sie werden im Moment etwas enttäuscht sein (oder sogar das Feed-Abo beenden), weil hier in letzter Zeit nichts mehr über WordPress steht.

Die Gründe dafür sind jetzt nicht so wichtig, aber wer meine anderen Beiträge nicht im Feed haben möchte, dem kann geholfen werden. Einfach die Standard-Feed-Adresse durch

http://elektroelch.de/blog/category/wordpress/feed/

ersetzen und schon gibt’s nur noch WordPress-Kram…

 

Neue Version von Linklist (v0.4) WordPress-Plugin

Ein Neutzer meine WordPress-Plugins Linklist möchte dieses gerne in Zusammenarbeit mit einem Like/Unlike-Plugin nutzen.

Leider fügte Linklist auch die Links des Like/Unlike-Plugins zu der Liste hinzu und setzte die Liste hinter das Like-Icon:

linklist1

So war das natürlich nicht gedacht. Ich habe deshalb zwei neue Einstellungen hinzugefügt:

  1. Man kann jetzt mehrere Klassennamen für DIVs angeben, deren Inhalt nicht nach Links durchsucht werden soll. Dises Einstellung funktioniert auch mit unvollständigen DIVs (<div> und ein schließendes </div>).
  2. Die Priorität des Plugins kann eingestellt werden. Die ermöglicht Linklist die Links zu sammeln und die Liste in den Beitrag einzufügen bevor andere Plugins ihre eigenen Inhalte einfügen.

Das obige Beispiel sieht dann so aus:

linklist2

… und natürlich ist das Plugin mit WordPress 3.8 kompatibel.