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.

 

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.

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.

Kleines Update für pagebar (v2.65)

Das letzte Update für das pagebar-Plugin gab es vor über einem Jahr. Da aber alle neuen Ideen in Version 3 eingebaut werden sollen und das Plugin mit allen aktuellen WordPress-Versionen funktioniert, gab es keinen Grund, das Plugin zu erneuern.

Neulich hat mir allerdings Borisa Djuraskovic von „Webhosting Hub“ eine Email geschrieben, dass er eine serbische Sprachdatei angefertigt hat. Das war eine gute Gelegenheit, ein kleines Feature einzubauen, dass mir schon länger im Kopf herum schwirrt:
Kleines Update für pagebar (v2.65) weiterlesen

Wie lange ist eine WordPress-Version aktuell?

Die neue WordPress-Version 3.6 wurde viel später veröffentlicht als geplant; die Veröffentlichung war für Ende April vorgesehen und wurde dann schließlich Ende August herausgegeben.

wp_versions_500

Durchschnittlich wurde eine WordPress-Version durch eine neue nach 198 Tagen ersetzt. Auffällig ist die Version 2.0, die für über eine Jahr die aktuelle Version war (Dezember 2005 bis Januar 2007). Mit der Version 2.1 nahm die Entwicklung mehr Geschwindigkeit auf und neue Versionen wurden nach vier bis sechs Monaten veröffentlicht.

(Quelle: Wikipedia)

Ideen für pagebar v3 – Teil 1: Direkter Zugriff auf Seiten

Es ist Zeit sich Gedanken über Version 3 des pagebar plugins zu machen. In dieser Artikelserie versuche ich zu erklären, was ich plane und lade Euch dazu sein, diese Pläne mit mir zu diskutieren.

Direkter Zugriff auf Seiten

Ich wollte schon immer eine Möglichkeit schaffen, einfach und schnell auf bestimmte Seiten zugreifen zu können. Die einfachste Möglichkeit wäre natürlich eine Dropdown-Auswahlbox mit allen Seitenzahlen. Dies ist vielleicht noch handlich, wenn das Blog ca. 10 Seiten enthält, aber wenn man ein Blog mit beispielsweise 300 Seiten hat, ist ein solches Eingabeelement nicht wirklich praktisch:
Ideen für pagebar v3 – Teil 1: Direkter Zugriff auf Seiten weiterlesen

Neue Version von pagebar veröffentlicht (v2.60)

Wie sich leicht aus dem Titel schließen lässt, handelt es sich bei der neuen Version nicht um v3.0, wie ich für diesen Sommer eigentlich geplant hatte. Prokrastination pur!

1.

Stattdessen gibt es ein „kleines Update“ auf v2.60 mit einigen Features, die leicht einzubauen waren. Zuerst enthält das Plugin einen neuen Default-Stil basierend auf CSS3:

Um das neue Layout zu aktivieren muss man die Datei pagebar.css in das aktuelle Theme-Verzeichnis kopieren.

2.

Ich habe mir die Empfehlung von Pippin zu Herzen genommen und einige Aktionen eingebaut:

  • pagebar_before/pagebar_after (Diese Aktion wird bei jedesmal ausgeführt.)

Zusätzlich hat jede „Bar“ ihre eigenen Aktionen:

  • postbar_before/postbar_after, commentbar_before/commentbar_after, multipagebar_before/multipagebar_after

3.

Ein Hauptproblem von pagebar war, dass das automatische Einsetzen der pagebar auch bei sekündären Queries ausgelöst wurde, wie es von vielen Themes genutzt wird, um z.B. „Neueste Artikel“ im Sidebar anzuzeigen. Seit der WordPress-Version 3.3 existiert die function „is_main_query()", womit es jetzt möglich ist, pagebar nur einmal unter der Haupt-Query anzuzeigen. Ich hoffe, das funktioniert auch mit allen Themes, da @toscho meinte, es könne damit evtl. Probleme geben.

4.

Schließlich gibt es eine neue Sprachdatei: Rumänisch (ro_RO). Die Datei habe ich schon vor Ewigkeiten erhalten, ich bitte Web Geek Science um Entschuldigung.

Links:

WordPress: Artikel in der Vergangenheit veröffentlichen

Es kann Situationen geben, in denen man einen Artikel in der Vergangenheit, also mit einem Datum vor dem heutigen Tag, veröffentlichen möchte. Auf den ersten Blick bietet WordPress keine Option, die dies ermöglicht, Auf den zweiten Blick findet man aber auf der Seite „Neue Artikel erstellen“ in der Metabox „Publizieren“ folgenden Eintrag:

Wenn man auf Editieren klickt, erscheint ein Feld, in dem man das gewünschte Veröffentlichungsdatum angeben kann:

Hier kann man nicht nur ein Datum in der Zukunft angeben, sondern auch ein Datum in der Vergangenheit. Hat man das Datum eingegeben, sollte man nicht vergessen OK zu drücken, da sonst das Datum bei der Veröffentlichung nicht übernommen wird:

Drückt man jetzt auf Veröffentlichen wird der Artikel sofort mit dem oben eingestellten Datum veröffentlicht und entsprechend in die Artikelreihenfolge einsortiert.

Update: Monika Thon-Soun hat mich darauf hingewiesen, dass diese Vorgehensweise nicht unbedingt zu empfehlen ist, wenn man Wert auf eine gute Platzierung in Suchmaschinen legt, weil der nachträgliche Eintrag diese wohl verwirrt.

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:

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:

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