Category / WordPress

I’ve been wanting to get onto PHPCS for quite some time now. While reading a blog post discussing it, I decided it was now or never. I should have started using PHPCS a while ago anyway…

So, in order to get things up and running, I did a quick Google search and ended up finding a pretty good tutorial, except that it is slightly outdated. Some of the instructions did not match the latest version of PhpStorm.

The article is How to Setup PHP Code Sniffer in Phpstorm on a Windows Machine from W3Guy.com.

NOTE: At the time of writing this article, I was running PhpStorm version 2016.2.1.

Most of the instructions are correct, except for a couple of them. Here is an updated version of the outdated steps. Also, you’ll need to have PEAR installed on your local machine beforehand.

Step 2

You will actually need to copy all the WordPress-xxx directories in CodeSniffer’s Standards directory as they rely on one another (otherwise you’ll get errors in PhpStorm).

Also, because I’m only using standard PHP on my local machine (no XAMPP or any pre-packaged web server), […]

Continue reading →

My blog has been hosted on various machines from various providers. It is only recently that I started to aim for performance, though.

For the last couple of years, it has been hosted with EvxOnline. I then switched to a DigitalOcean (affiliate link, direct link available in article footer) droplet with ServerPilot.

While performance was definitely better with DigitalOcean + ServerPilot compared to EvxOnline, I wanted something even faster.

I have had my eyes on EasyEngine for a little while but didn’t have the chance to really try it yet. So the day I realized I made a typo in my ServerPilot’s app name, the maniac in me didn’t need another excuse to get started with a new stack.

EasyEngine vs ServerPilot

First of all, I need to say that I really like ServerPilot. I’ve used it for many client and personal projects. It is extremely easy to setup, the stack performs really well, and it keeps your server up to date. If you’re looking for good performance without getting your hands too dirty, go for ServerPilot.

If you want to push things a little further however, […]

Continue reading →

As a plugin developer who released a few plugins on WordPress.org, I sometimes feel like the song says: Je t’aime? moi non plus. Well, sexual content aside :p

There are two questions I’ve been asking myself a lot lately. Dan Cameron’s post What Now? No Way? Huh? made me feel that maybe others are asking themselves those questions too.

Disclaimer: this post is not at all a critic of the current system. I am not trying to provoke anyone in the community. I am merely trying to get answers to two selfish questions I’ve been asking myslef:

  1. Who am I in the WordPress community?
  2. What are my “rights”?

Prelude

While this is not the only thing I’ve been wondering about, this post was inspired by how incentivized reviews are being handled.

My first interaction with the .org team on this matter dates back to April 2016 when I released, in all honesty, a small library, WP Review Me, where discount codes were automatically given in exchange for a review. […]

Continue reading →

So you just got this new WordPress theme or plugin approved by the review team. Exciting!

You get your first downloads and you watch the stats all the time. What are you waiting for? We all know it: reviews! Especially 5 stars reviews 😉

Reviews are Everything

Indeed, reviews are often what convinces the user to use your product… or not. That’s why all authors are striving for good reviews.

There is another thing we all know, though: unsatisfied users tend to review more than satisfied users. This means that you can easily end up with some bad reviews even though your product is good and the majority of users are happy.

What can you do about?

It may sound simple (and it is) but you just need to ask your users to review your product.

WP Review Me

This is where this small library I wrote becomes your best marketing tool!

It does a very simple job: X days (you can configure X) after the theme/plugin was installed, the user will be prompted to leave a review on WordPress.org.

Technically speaking, […]

Continue reading →

WordPress admin notices are great. They’re extremely handy for communicating an important message to the users of your theme or plugin.

Admin notices can be used for sharing an information, warning of a problem, etc. WordPress made is very easy to register with the admin_notices hook. There is one extremely important thing though: admin notice dismissal.

Dismiss an Admin Notice

Have you ever used a plugin that displays a notice that can’t be dismissed? Or a notice that comes back on every page load, whether or not you have dismissed it already? What a pain… Nobody wants that.

In WordPress 4.2, WordPress introduced dismissible admin notices. This is basically a front-end mechanism that hides a notice when you click the close button. But again, refresh the page and the notice is back.

Persistent Notices Dismissal

What you want is for a notice to be permanently dismissed once this close button is clicked. This is exactly what WP Dismissible Notices Handler does.

After writing admin notices dismissal functions over and over I realize how dumb I was for not having a re-usable library. […]

Continue reading →

I’ve been developing WordPress stuff for a few years now. During all this time, my development toolkit changed. A lot.

As I learnt new skills, I discovered new tools. This usually resulted in a gain of productivity, improved skills, and realizing better tools were available.

Even though this cycle definitely has a limit, I think I still have some nice things to discover. Docker for instance is something I’d love to have the time to dive into. Capistrano is also something I really want to learn more about.

As of today though, I’m really happy with my development environment. Here is what it looks like…

Development Environment

In this post I’m focusing exclusively on the environment and not the development tools per se. That could be a topic for another time…

My current development environment is composed of 4 tools (excluding all the basics like Git): Vagrant, Varying Vagrant Vagrants (VVV), Variable VVV (VV) and VVV Dashboard.

This set of tools makes it super easy to setup a production-like dev server, create new site “on the fly” and manage all the resulting mess 😉

VirtualBox

Yes I know, […]

Continue reading →

I am really happy to announce that I pushed version 1.1.0 of WP Google Authenticator today. This version is the biggest update since the first release of the plugin. It adds support for two things that have been asked in the past: apps passwords and role based activation.

Apps Passwords

You might be using the WordPress mobile app on your iPhone or Android phone. So far you could actually use the WordPress app without problem. The plugin was using the user agent to determine if the connection was made from the WordPress app, and if it was, the one time password was skipped. This, obviously, brings the additional security this plugin adds down.

I’m happy to say that this is no longer the case. It is still possible to use desktop editing applications (or web services) to connect to WordPress, but it will require a manual intervention from you. It is not that difficult, and the good part is that the plugin is no longer limited to the official WordPress mobile app.

From now on, if you want to use a service or application that requires your credentials to log into WordPress, […]

Continue reading →

On the 24th was the second WordPress meetup I organized in Bangkok. We had the two founders of a successful WordPress company talk about the way they “productized” their WordPress development services.

Shinichi, a fellow WordPress developer helping with organizing the meetups, wrote an excellent summary of the meetup: Pronto Marketing at Bangkok WordPress Meetup

This tutorial is gold. You’ll learn the right way to create a translation file for your WordPress themes and plugins.

Poedit: Translation Secrets

Yesterday was the day. First time I organize a meetup. It’s been quite a rush in the end, but it was really worth it. I was very lucky to have Siobhan McKeown speak about getting involved in WordPress.

As it was my first ever meetup (as an organizer), I was really curious to see how full (or not) would the room be. And it was a good surprise! About 15 people came to the event. Out of the 26 who RSVPed, it’s about 61% attendance. Not bad I think.

The attendees were a good mix of Thais and foreigners. This is really important to me as I think it is the foundation of a good community. Both the Thais and foreigners were very interesting people and I’m hoping to see everyone again at future meetups.

If I had to summarize this meetup in one link, it would be http://make.wordpress.org/. I’m going to spend more time there as soon as I have a chance.

Now let’s continue with the pictures.