A Twitter OEmbed returns tweets in the language of the requesting server, but say your an english site on a german server? You don’t want German retweet buttons! Here’s the fix.
What Needs Adding
The twitter OEmbed has some documented parameters, most notably, a lang attribute will fix the problem:
lang
Language code for the rendered embed. This will affect the text and localisation of the rendered HTML.
So that lang attribute needs adding to the oembed request somehow. The most common method of doing this floating around on the net at the moment is a fix using new WordPress 3.5 filters.
The v3.5 fix
The fix that works for WordPress v3.5+ relies on a newly introduced filter called oembed_fetch_url.
This works well, just define WP_LANG in wp-config.php and it’ll use that value.
A fix for 3.5 & 3.4
The above fix works well, however, at the time of writing v3.5 is currently at the release candidate stage, and may not be released for several weeks. A new fix is needed!
To do this, I’ve added a second fix to create one that works with v3.4 too:
Here if the version is lower than 3.5, I replace the twitter OEmbed entry with one that has the necessary language attribute.
4 responses to “Fixing Twitter OEmbed Language in WordPress”
Leave a Reply