Folien zu meiner Session “Child Plugins” auf dem WordCamp Frankfurt 2016

Vor wenigen Stunden habe ich auf dem WordCamp Frankfurt 2016 einen Vortrag zum Thema Child Plugins gehalten, in dem ich meine kleine Artikelreihe aus dem Blog noch einmal zusammengefasst habe. Die Folien könnt ihr euch hier in Ruhe noch einmal ansehen. Solltet ihr Fragen habe, hinterlasst einfach wie immer einen Kommentar 🙂

Child Plugins - WordCamp Frankfurt 2016

Wer die Themenreihe noch einmal inkl. ausführlicherer Erklärungen lesen möchte, findet hier die Links zu den Beiträge:

Auch hierzu darf man natürlich auch weiterhin Fragen stellen und Anmerkungen machen 😉

Rückblick auf das WordCamp Frankfurt 2016

An diesem Wochenende fand das erste WordCamp in Frankfurt am Main statt. Es war auch das zweite in Deutschland für dieses Jahr und das insgesamt sechste, das ich in diesem Jahr besuchen werde. An zweit Tagen gab es wieder viele spannende Sessions von deutschen und internationalen Speakern.

Freitag: Contributor Day

Anders als sonst in Deutschland gewohnt, fand der Contributor Day am Freitag und somit vor dem WordCamp statt. Ich bin morgens früh um halb sechs Uhr morgens aus Berlin direkt angereist. Nach anfänglichen Schwierigkeiten mit dem WLAN und einem dadurch notwendigen Wechsel des Gebäudes, war es noch ein recht produktiver Tag. Also nicht wirklich für mich, aber für die meisten um mich herum. Denn ich wurde mit hunderten Fragen zu VVV (eine Vagrant Umgebung für WordPress), PhpStorm, PHP Code Sniffer, WordPress Coding Standards und Co. gelöchert. Auch wenn ich also nicht an dem einen Ticket weitergekommen bin, war der Tag doch sehr gut.

Das Thema WordPress Coding Standards wollte ich ja ohnehin schon länger mal in meinem Blog verarbeiten. Aber auch die Einrichtung von VVV werde ich, vermutlich im Rahmen eines Screencasts, mal in Angriff nehmen.

Am Abend fand eine kleine Warmup Party statt, an der ich aber nicht teilgenommen habe. Stattdessen habe ich meine Brüder in meiner Heimatstadt Mannheim besucht. Wenn man schon mal so nah ist, muss das einfach sein 🙂

Weiterlesen →

ElasticPress Volltextsuche anpassen

Vor vier Wochen hatte ich euch ja berichtet, wie man Elasticsearch in WordPress verwenden kann und euch auch angekündigt, dass ich hierzu ein paar Artikel schreiben werde. Heute möchte ich damit beginnen und einen ersten kleinen Tipp geben, wie man die Volltextsuche optimieren kann.

Die Volltextsuche von Elasticsearch

Bei Elasticsearch werden alle Anfragen über die API abgewickelt. Hierbei kommt sowohl für die Anfrage, als auch für die Antwort JSON als Datenformat zum Einsatz. Abfragen werden in der Sprache Query DSL definiert. Eine Abfrage kann hierbei aus Queries und Filters bestehen. Diese unterscheiden sich in einigen Dingen, die wichtigsten möchte ich hier kurz auflisten:

Weiterlesen →

Abonnenten die Bearbeitung ihrer Kommentare erlauben

So langsam entwickelt sich das Thema Berechtigung ja zu einer kleinen Artikelreihe 🙂 Heute habe ich erneut ein hoffentlich spannendes Kapitel dazu im Angebot. In dem Projekt, das schon bei den letzten beiden Artikeln als Grundlage diente, gab es nun die Anforderung, dass Nutzer mit der Rolle „Abonnent“ die Möglichkeit haben sollten, ihr Kommentare zu bearbeiten oder zu löschen.

Berechtigung zum Bearbeiten von Kommentaren vergeben

Ein kurzer Blick in den CODEX und die passende Rolle war gefunden. Das Hinzufügen einer Berechtigung zu einem Nutzer kann man nun entweder mit einem fertigen Plugin wie Members tun, oder aber mit wenig Code:

Weiterlesen →

Bilder in Mediathek auf aktuellen Nutzer beschränken

Letzte Woche hatte ich euch ja in einem Artikel beschrieben, wie ich in einem Custom Post Type „Portrait“, einem Nutzer ermöglicht habe, ein einzelnes Portrait bearbeiten zu können. Hierzu wurde auch eine eigene Rolle angelegt, mit der man die Berechtigungen besser steuern kann.

Nun gab es aber in diesem Projekt auch die Anforderung, dass ein Nutzer Bilder hochladen kann. Dabei gab es nun aber ein Problem. Wenn ich einem Nutzer erlaube, Bilder über die Mediathek hochzuladen, dann kann er auch die Bilder aller anderen Nutzer sehen. Das ist natürlich sehr unschön, gerade dann, wenn die Mediathek mit der Zeit sehr groß wird.

Nutzern den Upload von Bildern erlauben

Zuerst einmal musste ich natürlich der neuen Nutzerrolle generell das Recht einräumen, Bilder hochzuladen (ihr könnt aber natürlich auch eine bestehende Rolle wie „Abonnent“ verändern):

Weiterlesen →

Eigene Rollen in der Autor-Box eines Custom Post Type anzeigen

Heute möchte ich euch einen kleinen Codeschnippsel an die Hand geben, der mir in der vergangenen Woche bei einem Problem mit den Berechtigungen geholfen hat. In einem Projekt sollte es Benutzern mit einer bestimmten Rolle ermöglicht werden, Seiten eines Custom Post Types zu bearbeiten. Die Einschränkung war hier allerdings, dass sie nur eigene Seiten des Custom Post Types bearbeiten dürfen.

Author-Box für Custom Post Type aktivieren

Eigentlich sollte das ja ganz einfach sein – dachte ich zumindest. Zuerst einmal muss man natürlich die Autor-Box für den Custom Post Type aktivieren. Nehmen wir einfach mal eine Portrait Seite als Beispiel. Dies geschieht bei der Registrierung des selbigen:

Weiterlesen →

Einrichtung von Elasticsearch in WordPress mit ElasticPress und Heroku

Am Donnerstag hatten wir unser erste WP Meetup Berlin in neuer Location. Dort habe ich einen kleinen Talk zum Thema Elasticsearch gehalten. Heute möchte ich euch zeigen, wie ihr Elasticsearch mit eurem Blog verwenden könnt. Es soll hierbei vor allem darum gehen, wie ihr schnell und kostenfrei eine Umgebung aufsetzen könnt, um mit Elasticsearch erste Experimente zu machen.

1. Installation eines Elasticsearch Servers

Wie ich in meinem Vortrag erläutert habe, handelt es sich bei Elasticsearch um einen „Suchserver“. Vergleichbar ist das mit einem MySQL Datenbankserver, den ihr ja ebenfalls für eine WordPress Installation benötigt und der irgendwo installiert und erreichbar sein muss.

Elasticsearch ist in Java programmiert und damit wird es nicht ohne weiteres möglich sein, diesen auf eurem Server zu installieren (sofern ihr überhaupt einen eigenen Server habt). Obwohl ich Elasticsearch direkt auf meinem Server installieren könnte, habe ich mich dagegen entschieden. Ich möchte ungern Java installieren und mich dann durch die Installation kämpfen.

Weiterlesen →

Child Plugins: Zusammenfassung der Themenreihe

In sechs Beiträgen haben ich euch in den vergangenen Wochen die Möglichkeiten aufgezeigt, wie man ein Plugin anpassen kann. Heute möchte ich die Reihe mit einer kleinen Zusammenfassung beenden.

Empfohlene Vorgehensweise bei der Anpassung

Jeder der vorangegangenen Artikel hat versucht, eine einzelne Möglichkeit zu beschreiben. Wer sich nun fragt, wie man am besten vorgehen sollte, hier meine persönliche Vorgehensweise bei der Anpassung von Plugins.

Weiterlesen →

Child Plugins: Templates eines Plugins überschreiben

In den letzten Beiträgen zu dieser Artikelreihe ging es meistens um technische Anpassungen an Plugins. Heute möchte ich mich mit Änderungen an Template Dateien beschäftigen und an einem Beispiel zeigen, wie oft dies bei gute programmierten Plugins möglich ist.

Templates: Im Theme oder im Plugin?

Als Beispiel habe ich mir WooCommerce vorgenommen. Es war das erste Mal, dass ich es installiert habe und ich war recht beeindruckt, wie gut man durch die ersten Einrichtungsschritte geführt wird. Aber darum soll es ja heute nicht gehen.

Viele Plugins haben die Eigenschaft „Kompatibel mit WooCommerce“. Ein passendes Theme zu wählen, dass für die Darstellung von Shops erstellt wurde bietet sich auf jeden Fall an. Aber selbst mit dem TwentySixteen Theme konnte ich alle Schritte einer Bestellung durchgehen.

Weiterlesen →

Child Plugins: Plugins ohne Actions und Filter anpassen

Die WordCamp Saison macht für mich erst einmal eine Pause und daher kann ich mich wieder meiner kleinen Child Plugin Artikelserie widmen. In den letzten drei Beiträgen hatte ich mich ja intensiv mit Hooks, also mit Actions und Filtern beschäftigt. Im heutigen Beitrag möchte ich euch zeigen, welche Möglichkeiten ihr habt, wenn keine Actions oder Filter angeboten werden.

Hooks mit eigenen Funktionen überschreiben

Wenn ein Plugin gut programmiert ist, dann sollte es euch Hooks anbieten. Aber manchmal hat der Plugin-Entwickler einfach euren Anwendungsfall nicht bedacht und es fehlt ein passender Hook. Sofern sich der Entwickler aber an ein paar Standards hält, könnt ihr eventuell trotzdem das Plugin verändern, ohne den Originalcode verändern zu müssen.

Weiterlesen →