WP Engine Cyber Weekend


Guys, just a quick post to confirm that if you’ve been waiting for an especially good deal to start hosting your blogs with WP Engine – this is it:

WP Engine Cyber Weekend Promotion – 5 Months Free on Annual Shared Plans

I’ve been a happy customer for more than a year with my Unix Tutorial blog and should probably be upgrading to their next hosting plan soon due to explosive traffic growth.

Think this offer is active for a week or so, so don’t wait too long.

See Also

Trying WPEngine DevKit

Seems DevKit, a new offering currently in beta by WPEngine, is getting stronger by the day. I joined the beta a few months ago and couldn’t set it up easily enough, but this time around it seems to be much easier.

What is WPEngine DevKit?

DevKit takes your git-based WordPress development to the next level! It’s a software automation available to WPEngine customers that lets you spin up local copies of your WordPress environments in a matter of minutes.

WPEngine DevKit uses Docker and builds a mini infrastructure to run each environment: a load balancer, a caching layer, a PHP processor, a web server and a database server. Latest version of your website and database are downloaded to your laptop or desktop with just one command:

$ wpe clone unixtutorial

After all is done, all you need to do is cd into directory and start local webserver:

$ cd unixtutorial
$ wpe start 

Here’s how the list of Docker containers looks for one of the websites:

greys@macos:~/proj/wpengine/unixtutorial $ docker ps | grep unixtutorial
7e0269af4942 wpengine/devkit_memcached:0.15.7 "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 11211/tcp unixtutorial_memcache_1
e5d9ee9354de wpengine/devkit_mailhog:0.15.7 "MailHog mysqld --ss…" 18 minutes ago Up 18 minutes 1025/tcp,>8025/tcp unixtutorial_mail_1
50d7921d39ed wpengine/devkit_nginx:0.15.7 "nginx -g 'daemon of…" 18 minutes ago Up 18 minutes>80/tcp unixtutorial_nginx_1
be03695720b2 wpengine/devkit_php_7_3:0.15.7 "/entrypoint.sh php-…" 18 minutes ago Up 18 minutes 9000/tcp unixtutorial_php_1
282468464aee wpengine/devkit_mysql_5_7:0.15.7 "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 33060/tcp,>3306/tcp unixtutorial_db_1
c8723b7f4b70 wpengine/devkit_mitmproxy:0.15.7 "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 8080/tcp,>8081/tcp unixtutorial_proxy_1

Pretty cool! I’ve just downloaded 3 of my websites in under 20min, just need to get comfortable with making updates back to the WPEngine hosted copies now!

See Also

Multi-language Widgets in WordPress with WPML



I have recently launched a Unix Tutorial RU, Russian language version of my Unix Tutorial blog. After careful consideration, I have decided to use WPML plugin for managing translated copies of pages and posts.

How Multi-Site Works with WPML

From what I can see, WPML is a redicretion and page query parameters based magic. It allows you to host multi-language sites from a single hosting setup, so essentially it’s just one WordPress installation with WPML plugin helping it manage multiple translated copies of the same pages and posts.

In my setup, I chose to use a separate domain: www.UnixTutorial.RU with Russian translations of www.UnixTutorial.org pages.

Multi-Language Support in WordPress Widgets

Turns out, it’s very simple to manage multi-language sidebar content.

Step 1: Add another instance of same widget to sidebar

Create a copy of your existing sidebar widget, by selecting the same widget type and adding it to the same sidebar. I ended up with having two widgets like this:

Screen Shot 2019-10-05 at 10.55.52.png

Step 2: Populate new widget with translation

Edit to make sure the newly copied widget contains the desired translation:

Screen Shot 2019-10-05 at 10.56.00.pngStep 3: Select when to show new widget (pick a language)

Select a new language for the template:

Screen Shot 2019-10-05 at 10.56.07.png

This means that new sidebar widget will only be shown on the translated version of my website.

That’s it, enjoy!

See Also



20% discount: WordPress.com and Jetpack



Just got an email from Automattic announcing that WordPress.com and Jetpack plans will be available with a 20% discount until March 10th, 2019.

If you’re looking for super-comfortable hosting solution for your blog, you should check out WordPress.com. I’m usually self-hosting and so Jetpack offering makes more sense for me:

  • blog backups
  • improved performance
  • free image hosting
  • Akismet spam protection
  • Traffic and visitors stats
  • Activity log

I’ve started blogging much more regularly in 2019 and find activity log super-useful for keeping track of all changes made to the blog – plugin updates, posts and pages updates, new posts and image uploads.

In short, both WordPress.com and Jetpack come highly recommended. If you’re in the market for them – check them out. Don’t forget to use the DISCOUNT20 code for 20% off any prices at the checkout!

Make WordPress admin panel use HTTP

Quick but super useful tip for WordPress development: when you’re coding your website locally on your desktop or laptop, this wp-config.php option will help you accept HTTP logins to WordPress admin panel:

define( 'FORCE_SSL_ADMIN', false );

Took me whole 5 minutes to figure out why local website worked fine but admin panel was not connecting.

Now it looks much better:

Screen Shot 2018-12-13 at 18.51.29.png

pS: if you’re using an old WordPress installation or just kept auto-updating it in the last few years without a full reinstall, the option name could be slightly different for you:

define( 'FORCE_SSL_LOGIN', false );

WordPress Gutenberg

Just a quick note to say that Gutenberg editor in WordPress is AWESOME!

After using it for a few days on my Unix Tutorial blog, I’m really impressed with how intuitive the new editing experience is.

Having to create a separate content blog for each element may sound like a really daunting task, but the way it’s implemented is super intuitive: you type as you always would, but things like lists and paragraphs end up created automatically.

I also really like the way content is so much easier to rearrange now that it’s split into blocks.

See Also

WordPress OSX app is awesome!

New WordPress.com admin interface is using Calypso, a JavaScript framework – that’s been made official a few weeks ago to much appraise.

In addition to the WordPress.com, it’s also possible to download desktop apps for Windows and OSX to manage all your Jetpack-enabled blogs.

I’m still in the process of Jetpack-enabling all of my blogs, but those that have been switched already are a breeze to manage now: I can see pending core and plugin updates, moderate new comments, see website stats and can add new posts.

Have you given a native WordPress.com app a try yet? I think it’s awesome!

WordPress category and tag slugs

I’ve had a rather frustrating few minutes trying to create a new category on one of my WordPress blogs and to name it specifically the way I wanted.

Why category slugs get -2

Every time I did this, I always ended up with the slag getting -2 added to it, and it took me some time to figure out why.

Turns out, you can’t create a category with the same slug that you have a tag for.

if you have a tag called “linux”, even though full link to it would be website.com/tags/linux, it will still prevent you from creating a category with the same “linux” name.

Page slugs for WordPress categories and tags cannot overlap

The reason for this is, apparently, because tags and categories share the same slug database table, so cannot overlap.

Hope this helps someone, it looked really weird at first but makes sense now.

How to upgrade WordPress and plugins without FTP

I’ve read so many forum threads on this that I think it’s time to share these very simple instructions. Follow them for your website and you’ll finally have the fully automatic updates working as they should.

Automaitic WordPress and plugin updates

First of all, let’s just make sure we’re talking about the same thing.  Since version 2.7, WordPress received one of the most useful features ever: automatic update. What this means is that every time a new version of WordPress is released, you now get a “click here to upgrade” option in your admin dashboard. When you click the link, it should ask for a confirmation and then proceed with automatic downloading and upgrading of your blog. But because of misconfigurations, this feature isn’t always working, and then you end up with a configuration dialog suggesting that you provide FTP credentials for accessing your server.

Possible reasons for automatic WordPress upgrade not working

There’s only a few reasons why WordPress or plugins upgrade feature will not work.

[Read more…]

WordPress Admin Bar tricks

If you like the WordPress admin bar introduced recently, you’re going to love the way it can be expanded to do pretty much anything you want.

DigWP.com blog has a great collection of links in a single post with some very good ideas: Admin Bar Tricks.

My personal favorites are: move admin bar to the bottom of screen and disabling admin bar for non-admins.