We have recently released WPML 3.3.7 to address some changes introduced in WordPress 4.5.

After this release, we noticed several issues with permalink handling, in particular with paginated content, and a couple of additional issues when dealing with WooCommerce.

Some of these issues were already present in previous versions of WPML, but they became more evident in WPML 3.3.7.

WPML 3.3.8 addresses these issues, and in particular:

  • Templates and pagination
    • Wrong template being used in the search results for a second language when the front page has a template and there is no template for the search results
    • is_front_page() does not work when the URL contains the “lang” argument in addition to others arguments
    • Pagination issues in the default language with browser redirect enabled
    • Malformed paginated URL in the home page with plain permalinks and language as a parameter
    • Wrong pagination when using custom permalinks such as “/%postname%” without a trailing slash, and language as a parameter
    • Malformed pagination URL when displaying paginated content on the front page with “Post name” permalinks and language as a parameter
    • The second page of paginated content is not accessible in a secondary language with pretty permalinks and the same slug in translated content
  • WooCommerce related
    • 301 error on product pages
    • Different domains for each language; when switching language, the cart contents are not synchronized
  • Others
    • PHP Notice: Undefined offset: 0 in sitepress.class.php on line 2345
    • “Language as parameter” conflicts with browser redirection and the manually set home page
    • Added ability to change the behavior of the “heads_lang” meta tags by providing new hooks

Some of the above issues were discovered thanks to a new set of automated tests that we added specifically for this release.

Download and give us feedback

First, remember to backup your site before updating. We backup our site and test updates before we update ANYTHING (any plugin, the theme or WordPress). This release of WPML has gone through a lot of testing, but it’s still nicer to find glitches on a test site and not on a production server.

Then, update all of WPML components. This is a quick fix version of WPML core and WPML Translation Management, with no dependencies between other add-ons, which in fact haven’t been updated.

The best way to update WPML is from the WordPress admin. Register your site (you can register all your sites, we don’t limit) to get automated updates. Alternatively, you can always download WPML manually from your account.

Leave your comments to give us your feedback, ask questions or make suggestions. We’ll get back to you.

16 Responses to “Announcing WPML 3.3.8 beta”

  1. I tried this release in hope that the “Copy from original” setting in Toolset Types would work. But didn’t succeeded.

    I run the latest of everything (Types and WPML Multilingual CMS, WPML Media, WPML Sticky Links, WPML String Translation, WPML Translation Management).

    I check the “Copy from original” box and then edit original language, but nothing copies to the other language english or german.

    Kind regards John

    • Hello John,

      I don’t know if you already have reported the issue in our support forum.
      If not, please do it.

      WPML 3.3.8 was mainly meant to resolve some issues with permalinks we have noticed after the release of WPML 3.3.7.

      Most of the pending issues should be fixed in WPML 3.4, which is going to be released soon.
      In WPML 3.4 you will also be able to use the brand new translation editor to copy all values, including fields from Types.

      However, if the fix for the issue you are mentioning is not in our queue for WPML 3.4, I will be happy to include it, but I need where you have reported it.

      Have a nice weekend!

  2. Hello!

    Since version 3.3.7, I got many problem with translated custom type permalink. I would like to try the beta version but i can not find it. Could you please help?

    Thx!

    • Hello Lydie,

      Please head to the downloads page (https://wpml.org/account/downloads/). You must be logged in to access this page.
      Scroll way down this page and download the “CMS Beta Package”.

      Click on “Full Description” to find how to install this beta.

      Please do so in a safe environment: either a development/staging copy, or at least after running a full backup of your site.

      • Thx. I have installed it on my dev environment but this does not fix my problem.

        In fact, I have created a custom post type with rewrite defined as below:


        'rewrite' => array(
        'slug' => __('testimonial','p4u'),
        'with_front' => true,
        'feeds' => false,
        'pages' => false
        ),

        This was working well but since 4.5 the url are strangely managed. I will get the slug in the default language in backend but when trying to view it, I will get a 404.

        Could you please help?

        • Hi Lydie,

          Did you try to flush the permalinks?

          You can do that by going to “Settings” > “Permalinks”. This should be enough, but you can click the “Save Changes” button (without actually making any change) to be 100% sure they get flushed.

          • Hello!

            That’s the first thing I have done. I can see after the flush, that the url is translated but the problem is even if I have en and fr as languages, the slug is replaced by the fr translation for both languages.
            My default language is EN.

            Lydie

            • Hi Lydie,

              I see only now that you are using a gettext function in the “slug” attribute: please don’t.

              If you do that, even without WPML you will need to refresh the rewrite rules every time you change the WordPress locale because this string is used to build the rewrite rules: if it gets translated every time you switch languages, the rewrite rules won’t match.

              As you can see here even the official WordPress documentation does not use a gettext function for this attribute.

              In order to make the slug translatable, remove the gettext call, refresh the permalinks once again, and translate the slug with string translation.

              In other word, just use this:


              'rewrite' => array(
              'slug' => 'testimonial',
              'with_front' => true,
              'feeds' => false,
              'pages' => false
              ),

              I hope this helps.

  3. Hi
    I reverted back to WPML 336 as I get this problem when I update to either 337 or 338 rc-1 beta

    I run English and Hebrew site.
    I use this structure to change language from En to He:
    domain en: http://www.treeoflifeisrael.com/
    hebrew: http://www.treeoflifeisrael.com/?lang=he

    when updating to 337 or 338 rc-1 the http://www.treeoflifeisrael.com/?lang=he is broken. instead I get the wp blog post archive. my hebrew homepage is gone.
    I now use 336 after reverting to backup/

    • I was assuming this item from the changelog will cover this bug: “Language as parameter” conflicts with browser redirection and the manually set home page

      • Yoav, we have sent you an email two days ago.

        To recap: we couldn’t replicate the issue and we would need a snapshot of your website in order to troubleshoot the issue.

        Thanks.