Category: WordPress

  • Tres

    I have a relatively good memory for dates, so I noticed that it was exactly today three years ago that I joined the WordPress community. While I have drastically failed in blogging more over the past year (and I guess I intend to continue that “streak”), I thought it would be a good time for a recap of what happened in the past year since I wrote my last such recap.

    Read more

  • Writing automated tests for your WordPress project is a must in order to verify that your code works as expected. Of course you should always do severe manual testing for your plugin or theme, but as always, humans aren’t as precise and thorough as computers can be with that. Furthermore having sufficient automated tests (i.e. solid test coverage for your code) also indicates whether a subsequent change, as in a later release, unexpectedly breaks something you wouldn’t have detected otherwise. This post gives you an introduction on the test suite that WordPress core includes, which you can also use to test your plugin for example, but of course too if you’re contributing to WordPress core.

    Read more

  • Several people have already posted their thoughts and impressions about the new Gutenberg editor for WordPress, to highlight pros, cons and everything in between. Here is my perspective on it.

    Read more

  • As you may recognize from the title, this post is written in German. That is because its target audience is the German community in particular. It will probably be the only German post on my blog, so please forgive me for doing that. I’m sorry, and I hope you don’t feel left out.

    Wenn eine nicht-deutschsprachige Person die Einführung oben gelesen hat, werden meine Entschuldigungen wohl nicht darüber hinweg helfen, dass sie sich möglicherweise von diesem Beitrag ausgeschlossen fühlen. Ich halte dies also für eine gute Einleitung für diesen Beitrag, den ich explizit an die deutsche Community richten möchte: Viele von uns tendieren nämlich dazu, in unserer Komfortzone zu bleiben (#GermanBubble) – was an sich natürlich jedem selbst überlassen ist, aber teilweise ein recht exklusives Gefühl an WordPress Community-Mitglieder aus anderen Ländern vermittelt. In diesem Beitrag möchte ich näher darauf eingehen. Der Beitrag mag an einigen Stellen überaus kritisch erscheinen, doch ich möchte nicht, dass sich jemand vor den Kopf gestoßen fühlt. Ich mag euch sehr und viele von euch sind mir gute Freunde geworden, trotzdem ist es für mich an der Zeit, ein unbehagliches Phänomen, das ich seit längerem sehe, mal öffentlich auszusprechen. Mein Ziel ist es vor allem, ein Nachdenken über die Thematik zu fördern und das eigene Verhalten zu reflektieren.

    Read more

  • Deux

    Today is a special one for me: It marks my second anniversary as part of the WordPress community. It was this day two years ago that I was on a plane to Sevilla, excited to attend my first ever WordCamp, WordCamp Europe 2015. It has been an incredible journey for me since then, and I’d like to process and share my experience of what has happened in the past year (I also have posts up for that very first WordCamp and for the recap of my first year).

    Read more

  • I’m now on SiteGround!

    Finally I’m on vacation. Which ironically finally gives me time to migrate my website, something that I have been wanting to do for several months. While you might think that I spend too much time with WordPress, I have to say that there is nothing stressful to me about doing some of the things that I wouldn’t be able to otherwise – rest assured that I’m spending enough time sitting in the sun, dining and doing nothing. ☀️

    Alright, the reason I’m writing this post is simply that I would like to share a tiny bit about what I did. This website as well as all my other sites, more or less related (for example I have a cocktail blog y’all should follow) are now hosted on SiteGround (capital_G_dangit()!). Previously I had all these sites hosted with Google Compute Engine for a little more than a year. This was an interesting experience for me that I had wanted to do, since it allowed me to learn a little more on how all the internals of maintaining a web server setup works, without being too complicated. If you don’t know about Google Compute Engine, it’s basically a lot similar to Digital Ocean, however it runs on Google’s infrastructure and is part of Google Cloud Platform, which can be compared to Amazon AWS. Anyway, all of this helped me learn a lot, but it was also obviously more work than usually, so I’m happy I’m back at a regular host now that keeps things for me simple. Another reason that I’m happy that this experiment is now finally over is that it was quite an expense and oversized for my needs – at this point I’m good moving back to a shared host for this. I would have done that sooner, but then again, I needed a relaxed environment and time to do it.

    Read more

  • If you’re a theme developer, you’re probably aware of the bits and pieces you need to look out for to have your theme be compliant with WordPress standards, for example in order to get it to appear in the wordpress.org themes repository. A theme is pretty much a separate unit within the infrastructure of a WordPress setup, it uses several specific functions that WordPress core provides and may also use some markup that is already part of core, such as a default search form or pagination. What is less commonly known though is that there are also things to look out for to make your theme fully compatible with the Multisite feature of WordPress. It’s nothing complex for most cases, but it is often overlooked. I’ll highlight the two special requirements in this post.

    Read more

  • This morning I read a very good discussion on the usability of WordPress Core on the Post Status Slack, primarily focussed on the comparison with platforms like Wix (if you’re a member, I highly encourage you to read it). One thing that, once again, struck me was how we have the issue where developer expectations of WordPress vastly differ from user expectations – let me address this in just a bit. For the beginning I would like to quote something Helen Hou-Sandí said during the discussion:

    WP does not currently exist as a good piece of software for “building a site”. It’s getting there, and I think the vision’s been there for quite some time, just that this particular dev-oriented audience gets lost in what we want to do with WP and pushes back against features that would move toward said vision in the first place, just because it’s not what we need to do client stuff.

    Read more

  • We hate SVN. At least most of us do. We all love GitHub (or Bitbucket, GitLab or similar). Yet, we wanna do WordPress plugins and put them up in the plugin repository.

    There comes a time when everyone needs to get in touch with SVN, which is not wrong. As a developer, you should be familiar with it so that you can contribute to WordPress Core. 🙂  But using SVN to manage your plugin is a pain, especially since you probably have all development happen on a platform like GitHub. Fortunately, it doesn’t need to be like that. There are ways to deploy new plugin releases without even knowing that SVN is being used. Even if you love SVN to death, a deploy script for your plugins is worth using – let me introduce one to you in this post.

    Read more

  • If you’ve been getting your way around with WordPress, you have probably heard of that thing called Multisite. Multiple web sites in one WordPress installation, that is. You may also call it a network of sites. If you haven’t actually used it, that’s another issue – maybe you have not (yet) come across a project where Multisite would have been the right fit. (In any case, I would encourage you to try it out on your dev environment then.)

    This post is not about Multisite though. It’s about how you can make your regular plugin that you would like to write or might have written years ago compatible with Multisite. Because even if your plugin does not do anything related to Multisite in any way, there are some things to take care of, in particular you need to take care of your plugin’s activation / deactivation / uninstallation routines (if you have something like it in your plugin). Otherwise you are locking out some users from using your plugin, and you certainly don’t want that, I’m sure. Now that you have read this, please don’t run away, it’s not something you need to spend days for – it might only take a few minutes, and if you don’t have any of these routines, there actually is nothing else to do to make the plugin compatible (at least not for the scope of this tutorial). But now, let’s get started!

    Read more