WPML: Getting automatic updates while blocking external HTTP requests

Due to security reasons I’m blocking external HTTP requests on many of my sites through a setting in wp-config.php. See this article for further exploration on working security through wp-config.php. Here’s the setting:

define( 'WP_HTTP_BLOCK_EXTERNAL', true );

This measure prevents a couple of plugins – mainly premium plugins that are not available through the offical WordPress plugin repository – from fetching their updates.

This was the case as well for the popular WPML multi-language plugin.

The fix is easy – by allowing WordPress to call only certain servers. In this case it is the server d2salfytceyqoe.cloudfront.net – as detailed here in the WPML support forums. This is how it looks in the wp-config.php:

define( 'WP_ACCESSIBLE_HOSTS', 'd2salfytceyqoe.cloudfront.net' );

You probably want to add more servers here, like *.wordpress.org et al.

UPDATE NOV. 25, 2017:

In order to reveive updates for the popular Toolset plugin suite by the makers of WPML you need to whitelist the following two servers, according to their support:

define( 'WP_ACCESSIBLE_HOSTS', 'api.wp-types.com, d7j863fr5jhrr.cloudfront.net' );

WPML: Translating a User Bio

Many themes display the biographical info about authors that can be entered through the User Management section in the WordPress Dashboard. Whenever you run a multi-lingual site you obviously want the author info to be translated as well.

The poplular multi-language plugin WPML (affiliate link) does support this – but you don’t only have to enable “String Translation”, you have to explicitly make WMPL scan the author info as well. Just follow the steps below and easily translate your user biographies. This thread from the WPML support forum brought me on the right track.

  • in the WordPress Dashboard, navigate to WPML > String translation
  • on the bottom right of the page there will be a box named “More Options”
    – click on the “edit” link next to “Translating users of types:” and select the checkbox for “Author” (or the user role you want the biography translated for), then click “Apply”
  • now to to WPML > Theme and plugins localization
  • (If you haven’t activated String Translation yet, select “Translate the theme and plugins using WPML’s String Translation”)
  • after the initial options and lists, find the button “Scan the theme for strings” and click it
  • go again to WPML -> String Translation
  • on the filter field “Select strings within domain”, select “Authors” (or the user role you previously selected to be scanned). The page will then refresh itself and the list will now contain all author’s fields available for translation, including the biography/description.

WPML: Language Switcher Not Showing All Languages

I encountered the following problem: I was building a multi-lingual website with three languages, powered by the popular WPML plugin (affiliate link). I had the regular language switcher set up in a menu. Now, when I was looking at pages in the main language – in this case English – the two other languages, Romanian and Russian, were elegible in the language switcher. Whenever though I switched the language to Romanian, the Russian selector went missing. This wasn’t the case the other way around, though: Looking at Russian pages, all three languages showed up in the switcher.

The fix was quite easy: I only had to clear the WPML cache. In order to do this I had to navigate to WPML > Support > Troubleshooting in the WordPress dashboard. Here, under the heading “Clean up” was the option to “Clear the cache in WPML”. This was all it took – just remember to backup your database beforehand.