Archives for October 2019

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, 0.0.0.0:32782->8025/tcp unixtutorial_mail_1
50d7921d39ed wpengine/devkit_nginx:0.15.7 "nginx -g 'daemon of…" 18 minutes ago Up 18 minutes 0.0.0.0:32781->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, 0.0.0.0:32780->3306/tcp unixtutorial_db_1
c8723b7f4b70 wpengine/devkit_mitmproxy:0.15.7 "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 8080/tcp, 0.0.0.0:32778->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

WordPress

WordPress

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