WordPress added SSL support to its future requirements

On December 1, 2016 WordPress announced it will move towards SSL in 2017. Many hosting partners provide SSL certificates for low prices, but you can also use letsencrypt for easy free SSL support. If you are hosting your sites using Plesk there is a pre-build plugin (can also be installed via Plesk installer!) for letsencrypt. Of course you can also install certificates with shell access, easy and free. Also the Google Chrome team announced that „none SSL pages“ will throw a warning from January 2017 on.

So if you are running WordPress projects and haven’t installed a certificate yet, there is no better time to do it.

letsencrypt_plesk

Letsencrypt in Plesk project detail page.

In Plesk just select your project page and click on „Let’s Encrypt“. The next step lets you add the default „www.“ subdomain to your certificate and thats it. After the plugin has all work done for you, you need to edit your „.htaccess“ file and add the following lines, to only allow https:// in your domain. At last step edit your blogurl in your sites setting and add https instead of http to your blogurl.

If you have images, videos, internal links and those stuff (wich is quite normal) on your website, you need to update the absolute URLs WordPress has saved to your database. I recommend the WP Migrate Plugin to do this.

 

WordPress: GIT usage with automatic database backups

It’s always difficult how to use git with wordpress the best way. First step should always be a global .gitignore file that ignores all core files and only adds plugins and themes to your repo. The core could always be restored by the wordpress github repo or direct download, so there is no need to add that overhead to your own repository.

I just wrote a small .gitignore file for my own projects. Thats a simple base you can extend for your own purposes.

An other typical problem is the backup of databases. WordPress theme options and of course content is always saved in the database, so we need every change in there, when we commit file changes. The easiest way to do so, is the git hook „pre-commit“. Just add this file to .git/hooks/ and edit your absolute paths. On every commit git will backup your database and add it to your repo.

 

 

SQL REPLACE() function

SQL allows you to simply replace parts of a string by using REPLACE(fieldname, „replace-this“, „replace-with-this“) and yes you can encapsulate REPLACE() within other REPLACE(). Thats easy to use and efficient because you don’t need to order and sort your results in PHP or any other language, but directly get the correct format and order of your data.

Our table:

… 

 

Enable bootstrap for wordpress backend plugins

In one of my recent plugins it was necessary to enable bootstrap for easy styling my plugin option pages. If you simply add bootstrap to the backend css, the whole backend gets the style, thats not really cool. With the use of less and a little wrapper class only for your plugin you can get rid of this circumstance.

First download the recent bootstrap distribution from getbootstrap.com

Move into the bootstrap directory and create a little less file:

Compile that file and you get a complete bootstrap css wrapped with your wrapper-class.
See http://lesscss.org/ for instructions.

Just add that file to the backend style of wordpress an there you go.

Every bootstrap component is available within wrapper-class.

 

Typo3 Viewhelper file exists

Um zu testen ob ein Datei existiert, habe ich mir diesen winzigen Viewhelper geschrieben. Dem Anschein nach kann Fluid das von sich aus noch nicht 🙁 (wird Zeit)

FileexistsViewHelper.php

template.html

 

Mein neues WordPress Plugin: Tooltip Crazy

Nach Jahren des Bastelns und Probierens habe ich mich dazu durchgerungen auch mal ein Plugin soweit fertig zu stellen um es zu publizieren. Mit Tooltip Crazy (WordPress Plugin Directory) können die CSS Tooltips von Codrops direkt in WordPress genutzt werden.

Das Plugin bietet einen neuen Button im RTE an oder man nutzt direkt den Weg über den Shortcode. Zukünftige Plugins werden definitiv noch nutzerfreundlicher entwickelt ;D

 

mPDF Styling

Wer Daten in Form einer PDF serverseitig generieren will wird sich zwangsweise mit fpdf auseinandersetzen. mPDF erweitert die Bibliothek und erzeugt PDFs aus einer HTML Struktur heraus. Die Generierung erfolgt unerwartet einfach, hat aber noch Verbesserungsbedarf in Sachen Styling. Wer mit mPDF arbeiten möchte sollte folgendes beachten:

– Floating funktioniert nur, wenn das zu floatende Element eine angegebene Breite hat.

– Vererbung in CSS funktioniert nur bedingt.

Ein Element mit class=“class1 class2″ würde in der PDF keinen roten Hintergrund bekommen, man müsste in diesem Fall class=“class2″ nutzen, damit sich die CSS Angaben auswirken.

– Der im Normalfall (fullwidth, Hochformat) sichtbare Bereich ist 680px breit

– Große Tabellen werden nicht(!) auf mehrere Seiten umgebrochen sondern verkleinert dargestellt.

– Tabellen in div Containern sind grundsätzlich nicht zu empfehlen, die Darstellung ist in vielerlei Hinsicht falsch.

 

PHP simplexml soll CDATA nicht ignorieren

Beim Import von externen XML Daten stand ich kürzlich vor dem Problem, dass beim Auslesen der Rückgabewerte einige Elemente CDATA Inhalte beinhalteten.

Das unter PHP mögliche parsen mit simplexml ignoriert bzw. überspringt diese Elemente standardmäßig. Dieses Überspringen lässt sich durch Angabe einer libxml function verhindern.

Die Funktion LIBXML_NOCDATA bringt den gewünschten Erfolg.

Der simplexml Aufruf lautet dann wie folgt:

 

WordPress Template Entwicklung – Fehlermeldung bei fehlenden Plugins

Im Laufe der Entwicklung eines Templates kann es immer mal wieder dazu kommen, dass man externe Plugins nutzt um seinem Template bestimmte Funktionen gleich mitzugeben.

Will man sein Template anschließend veröffentlichen, macht es Sinn auf diese Plugins hinzuweisen. Zu diesem Zwecke habe ich die Funktion is_plugin_active() genutzt.

Hier der komplette Code um eine Fehlermeldung im Backend auszugeben.

Wer noch einen Schritt weitergehen möchte, sollte sich tgmpluginactivation anschauen. Diese Bibliothek geht noch weiter und weist nicht nur auf fehlende Plugins hin, sondern kann diese auch gleich installieren und updaten.

 

HTML5 + CSS3 Cheat Sheet

Wer mit HTML5 und CSS3 anfangen möchte tut sich häufig schwer bei der Klärung der Begriffe. HTML5 umfasst viel mehr als die Ausdruckssprache HTML und CSS3 kann ebenfalls viel mehr als nur eine Style zuweisen.

Gerade unter Neueinsteigern empfehlen sich daher sogenannte Cheat Sheets, selbst nach meinen jahrelangen Erfahrungen mit beiden Sprachen nutze ich diese Sheets immer noch sehr gerne, denn sie sind übersichtlich und in ihrem Themenbereich allumfassend.

Ein bekanntes HTML5 Cheat Sheet (was die reine Semantik angeht) hat websitesetup.org zur Verfügung gestellt. Es eignet sich auch hervorragend als Poster oder Hintergrundbild und klärt die Begrifflichkeiten von HTML5 hervorragend.

Deutlich größer und unübersichtlicher als HTML5 ist CSS3, allerdings ist es dem SmashingMagazine gelungen auch für CSS3 eine vollständige und dennoch übersichtliche PDF Referenz zur Verfügung zu stellen.

Um sich einen Überblick über die beiden Sprachen zu verschaffen, kann ich diese alltäglichen Begleiter nur empfehlen!

Update 05.12.2016
Thx to Matt from onblastblog.com. Here is an updated HTML5 Cheat Sheet from him.