Version Description
(2018-11-27) =
- Pro: Add compatibility with REST API changes made in WP 5.0
- Pro: Fix sticky posts in the REST API
- Pro: Fix overwritten custom post slug when the post is updated with the REST API
- Pro: Fix bulk translate for media
- Fix a conflict with Custom sidebars and Content aware sidebars
- Fix a conflict with the theme Pokemania
- Fix PHP notices when using the function 'icl_link_to_element' for terms
- Fix title slugs for posts written in German
Download this release
Release Info
Developer | Chouby |
Plugin | Polylang |
Version | 2.4.1 |
Comparing to | |
See all releases |
Code changes from version 2.4 to 2.4.1
- admin/admin-filters.php +2 -2
- changelog.txt +125 -0
- frontend/frontend-filters.php +10 -3
- frontend/frontend.php +23 -1
- modules/wpml/wpml-legacy-api.php +1 -1
- polylang.php +2 -2
- readme.txt +13 -127
admin/admin-filters.php
CHANGED
@@ -212,7 +212,7 @@ class PLL_Admin_Filters extends PLL_Filters {
|
|
212 |
public function sanitize_title( $title, $raw_title, $context ) {
|
213 |
static $once = false;
|
214 |
|
215 |
-
if ( ! $once && 'save' == $context && ! empty( $
|
216 |
$once = true;
|
217 |
add_filter( 'locale', array( $this, 'get_locale' ), 20 ); // After the filter for the admin interface
|
218 |
$title = sanitize_title( $raw_title, '', $context );
|
@@ -235,7 +235,7 @@ class PLL_Admin_Filters extends PLL_Filters {
|
|
235 |
public function sanitize_user( $username, $raw_username, $strict ) {
|
236 |
static $once = false;
|
237 |
|
238 |
-
if ( ! $once
|
239 |
$once = true;
|
240 |
add_filter( 'locale', array( $this, 'get_locale' ), 20 ); // After the filter for the admin interface
|
241 |
$username = sanitize_user( $raw_username, '', $strict );
|
212 |
public function sanitize_title( $title, $raw_title, $context ) {
|
213 |
static $once = false;
|
214 |
|
215 |
+
if ( ! $once && 'save' == $context && ! empty( $title ) ) {
|
216 |
$once = true;
|
217 |
add_filter( 'locale', array( $this, 'get_locale' ), 20 ); // After the filter for the admin interface
|
218 |
$title = sanitize_title( $raw_title, '', $context );
|
235 |
public function sanitize_user( $username, $raw_username, $strict ) {
|
236 |
static $once = false;
|
237 |
|
238 |
+
if ( ! $once ) {
|
239 |
$once = true;
|
240 |
add_filter( 'locale', array( $this, 'get_locale' ), 20 ); // After the filter for the admin interface
|
241 |
$username = sanitize_user( $raw_username, '', $strict );
|
changelog.txt
CHANGED
@@ -2,6 +2,131 @@
|
|
2 |
|
3 |
This file contains only old changelog. See readme.txt for newer versions.
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
= 2.2.8 (2018-01-09) =
|
6 |
|
7 |
* Pro: Fix: Impossible to link past events by translation in The Events Calendar
|
2 |
|
3 |
This file contains only old changelog. See readme.txt for newer versions.
|
4 |
|
5 |
+
= 2.3.11 (2018-10-03) =
|
6 |
+
|
7 |
+
* Pro: Add action 'pll_created_sync_post'
|
8 |
+
* Pro: Fix language and translations not included for tags in the REST API
|
9 |
+
* Fix Assigning a parent category breaking the hierarchy of translated category
|
10 |
+
|
11 |
+
= 2.3.10 (2018-08-16) =
|
12 |
+
|
13 |
+
* Fix Lingotek notice not dismissable
|
14 |
+
* Fix fatal error with the widget calendar
|
15 |
+
|
16 |
+
= 2.3.9 (2018-08-14) =
|
17 |
+
|
18 |
+
* Add a notice to inform about Polylang for WooCommerce
|
19 |
+
* Deprecate PLL_Pointer
|
20 |
+
* Fix bulk editing pages with no language breaking hierarchy #281
|
21 |
+
* Fix an edge case where rewrite rules could be messed on a multisite
|
22 |
+
* MU Domain Mapping: fix secondary domain redirected to primary domain
|
23 |
+
|
24 |
+
= 2.3.8 (2018-07-16) =
|
25 |
+
|
26 |
+
* Pro: Duplicate term meta when duplicating a post creates new terms
|
27 |
+
* Pro: Add compatibility with ACF Pro when it's bundled with the theme
|
28 |
+
* Pro: Fix a fatal error when duplicating posts
|
29 |
+
* Set cookie during the home redirect
|
30 |
+
* Accept a port in the url to detect the site home
|
31 |
+
* Add filter 'pll_is_cache_active' to allow to load the cache compatibility #270 #274
|
32 |
+
* Fix potential fatal error when a 3rd party misuses the 'wpml_active_languages' filter #268
|
33 |
+
* Fix Uncaught TypeError: s.split is not a function. Props Wouter Van Vliet #262
|
34 |
+
* Fix text alignment for RTL scripts in Lingotek panel #247
|
35 |
+
* Fix html language attribute filter on admin
|
36 |
+
* Fix cookie expiration time when set in js. Props Jens Nachtigall #271
|
37 |
+
* Fix fatal error when a 3rd party misuses the WP_Query tax_query param. Props JanneAalto #252
|
38 |
+
* Fix an edge case which could mess home pages on a multisite
|
39 |
+
|
40 |
+
|
41 |
+
= 2.3.7 (2018-06-07) =
|
42 |
+
|
43 |
+
* Pro: The Events Calendar: Fix untranslated events shown in all languages
|
44 |
+
* Avoid displaying edit links of translations of the privacy policy page to non-admin
|
45 |
+
* Fix draft created when creating a new page on multisite
|
46 |
+
* Do not prevent using the cache for home when using WP Rocket 3.0.5 or later #236
|
47 |
+
* Fix language filter applied to wrong queries on admin side
|
48 |
+
|
49 |
+
= 2.3.6 (2018-05-17) =
|
50 |
+
|
51 |
+
* Pro: Fix post type archive slug not translated in ACF page link fields
|
52 |
+
* WP 4.9.6: Translate the privacy policy page
|
53 |
+
* WP 4.9.6: Add the translated user descriptions to exported personal data
|
54 |
+
* Update Plugin updater to version 1.6.16
|
55 |
+
* Fix conflict with the plugin View Admin As. Props Jory Hogeveen. #253
|
56 |
+
|
57 |
+
= 2.3.5 (2018-05-08) =
|
58 |
+
|
59 |
+
* Pro: Fix translated CPT slugs when one CPT name is a substring of another one. Props Steve Reimer.
|
60 |
+
* Pro: Fix canonical redirection for post types archives when the CPT slug is translated
|
61 |
+
* Pro: Fix ACF private key uselessly synchronized when the public custom field is not synchronized
|
62 |
+
* Add filter 'pll_filter_query_excluded_query_vars'
|
63 |
+
* Redirect www. to non www. when using multiple domains
|
64 |
+
* Fix Yoast SEO category sitemap not filtered by language when using multiple domains
|
65 |
+
* Fix PLL_COOKIE === false not honored when using a cache plugin. #248
|
66 |
+
* Fix empty predefined languages list
|
67 |
+
|
68 |
+
= 2.3.4 (2018-03-27) =
|
69 |
+
|
70 |
+
* Pro: Fix conflict with Pods related to translated slugs for custom post types
|
71 |
+
* Add Friulian to the predefined languages list
|
72 |
+
* Fix conflict (javascript error) with Gütenberg #225
|
73 |
+
* Fix conflict on ajax requests introduced by WooCoommerce 3.3.4
|
74 |
+
* Fix queries by 'category_name' not auto translated #238
|
75 |
+
|
76 |
+
= 2.3.3 (2018-03-15) =
|
77 |
+
|
78 |
+
* Pro: Fix tax query using a term sharing slugs (fix a conflict with Fusion Builder)
|
79 |
+
* Restore Polylang (free) on REST requests, while disabling the language filter as in v2.3
|
80 |
+
* Rework auto translated query with taxonomy in different language #223
|
81 |
+
* Synchronize Yoast SEO primary category (needs Yoast SEO 7.0+)
|
82 |
+
* Fix PHP warning introduced by Yoast SEO 7.0 #229
|
83 |
+
* Fix tax query when using the relation 'OR'
|
84 |
+
* Fix a conflict with the combination of Barrel + WP Bakery Page Builder
|
85 |
+
* Fix broken redirect with MU domain mapping #226
|
86 |
+
* Fix site title not translated in password change email
|
87 |
+
|
88 |
+
= 2.3.2 (2018-03-05) =
|
89 |
+
|
90 |
+
* Pro: Fix REST requests not filtered by the requested language (introduced in 2.3).
|
91 |
+
* Pro: Fix error 404 on single posts if posts are untranslatable
|
92 |
+
* Deactivate Polylang (free) on REST requests by default.
|
93 |
+
* Fix translated terms unassigned from posts when deleting a term
|
94 |
+
* Fix auto translated query with taxonomy in different language returning empty results since WP 4.9 #223
|
95 |
+
* Fix conflict with a homepage option of the theme Extra
|
96 |
+
* Fix warning when filtering get_pages()
|
97 |
+
|
98 |
+
= 2.3.1 (2018-02-15) =
|
99 |
+
|
100 |
+
* Pro: Fix GET REST request with slug parameter deleting the post slug
|
101 |
+
* Fix http request with a custom query var being redirected to the home page #216
|
102 |
+
|
103 |
+
= 2.3 (2018-01-30) =
|
104 |
+
|
105 |
+
* Pro: Duplicating a post now duplicates untranslated terms and the featured image (if media are translatable)
|
106 |
+
* Pro: Add filter 'pll_sync_post_fields'
|
107 |
+
* Pro: Translate ACF Pro clone fields when creating a new field group translation
|
108 |
+
* Pro: Allow to share slugs when creating a post or term with the REST API
|
109 |
+
* Pro: Load asynchronously the script added on front for multiple domains and subdomains
|
110 |
+
* Pro: Fix 'lang' parameter not interpreted when the query includes 'name'
|
111 |
+
* Refactor the synchronization of metas for better synchronization and performance improvement
|
112 |
+
* Refactor the synchronization of taxonomy terms for performance improvement
|
113 |
+
* Refactor language and translations saving for performance improvement
|
114 |
+
* Refactor the synchronization of sticky posts
|
115 |
+
* Remove all languages files. All translations are now maintained on https://translate.wordpress.org/projects/wp-plugins/polylang #199
|
116 |
+
* Refactor the list of languages to merge predefined languages, Facebook locales and fixes for W3C locales
|
117 |
+
* Automatically deactivate Polylang when activating Polylang Pro
|
118 |
+
* Disable programmatically translated post types and taxonomies in settings. Props Ulrich Pogson. #180
|
119 |
+
* Set the cookie language in Javascript when a cache plugin is active
|
120 |
+
* Automatically remove the home page from cache when requesting the detection of the browser preferred language
|
121 |
+
* Use relative urls for the admin language filter in admin bar. #209
|
122 |
+
* Disable auto translation of WP_Term_Query if it has a 'lang' parameter
|
123 |
+
* Don't filter REST requests by default. #211
|
124 |
+
* Fix Yoast SEO statistics in dashboard showing only the default language. #211
|
125 |
+
* Fix WP Rocket clearing the cache of the wrong adjacent post
|
126 |
+
* Fix random header image
|
127 |
+
* Fix home page not correctly loaded when adding a query var
|
128 |
+
* Fix: Impossible to change the language code when the language code is also a WordPress locale.
|
129 |
+
|
130 |
= 2.2.8 (2018-01-09) =
|
131 |
|
132 |
* Pro: Fix: Impossible to link past events by translation in The Events Calendar
|
frontend/frontend-filters.php
CHANGED
@@ -82,7 +82,8 @@ class PLL_Frontend_Filters extends PLL_Filters {
|
|
82 |
public function option_sticky_posts( $posts ) {
|
83 |
global $wpdb;
|
84 |
|
85 |
-
|
|
|
86 |
$_posts = wp_cache_get( 'sticky_posts', 'options' ); // This option is usually cached in 'all_options' by WP
|
87 |
|
88 |
if ( empty( $_posts ) || ! is_array( $_posts[ $this->curlang->term_taxonomy_id ] ) ) {
|
@@ -145,6 +146,7 @@ class PLL_Frontend_Filters extends PLL_Filters {
|
|
145 |
* @return bool|array false if we hide the widget, unmodified $instance otherwise
|
146 |
*/
|
147 |
public function widget_display_callback( $instance, $widget ) {
|
|
|
148 |
return ! empty( $instance['pll_lang'] ) && $instance['pll_lang'] != $this->curlang->slug ? false : $instance;
|
149 |
}
|
150 |
|
@@ -161,7 +163,12 @@ class PLL_Frontend_Filters extends PLL_Filters {
|
|
161 |
public function sidebars_widgets( $sidebars_widgets ) {
|
162 |
global $wp_registered_widgets;
|
163 |
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
if ( false !== $_sidebars_widgets ) {
|
167 |
return $_sidebars_widgets;
|
@@ -189,7 +196,7 @@ class PLL_Frontend_Filters extends PLL_Filters {
|
|
189 |
}
|
190 |
}
|
191 |
|
192 |
-
$this->cache->set(
|
193 |
|
194 |
return $sidebars_widgets;
|
195 |
}
|
82 |
public function option_sticky_posts( $posts ) {
|
83 |
global $wpdb;
|
84 |
|
85 |
+
// Do not filter sticky posts on REST requests as $this->curlang is *not* the 'lang' parameter set in the request
|
86 |
+
if ( ! defined( 'REST_REQUEST' ) && $this->curlang && ! empty( $posts ) ) {
|
87 |
$_posts = wp_cache_get( 'sticky_posts', 'options' ); // This option is usually cached in 'all_options' by WP
|
88 |
|
89 |
if ( empty( $_posts ) || ! is_array( $_posts[ $this->curlang->term_taxonomy_id ] ) ) {
|
146 |
* @return bool|array false if we hide the widget, unmodified $instance otherwise
|
147 |
*/
|
148 |
public function widget_display_callback( $instance, $widget ) {
|
149 |
+
// FIXME it looks like this filter is useless, now the we use the filter sidebars_widgets
|
150 |
return ! empty( $instance['pll_lang'] ) && $instance['pll_lang'] != $this->curlang->slug ? false : $instance;
|
151 |
}
|
152 |
|
163 |
public function sidebars_widgets( $sidebars_widgets ) {
|
164 |
global $wp_registered_widgets;
|
165 |
|
166 |
+
if ( empty( $wp_registered_widgets ) ) {
|
167 |
+
return $sidebars_widgets;
|
168 |
+
}
|
169 |
+
|
170 |
+
$cache_key = md5( serialize( $sidebars_widgets ) );
|
171 |
+
$_sidebars_widgets = $this->cache->get( "sidebars_widgets_{$cache_key}" );
|
172 |
|
173 |
if ( false !== $_sidebars_widgets ) {
|
174 |
return $_sidebars_widgets;
|
196 |
}
|
197 |
}
|
198 |
|
199 |
+
$this->cache->set( "sidebars_widgets_{$cache_key}", $sidebars_widgets );
|
200 |
|
201 |
return $sidebars_widgets;
|
202 |
}
|
frontend/frontend.php
CHANGED
@@ -51,6 +51,28 @@ class PLL_Frontend extends PLL_Base {
|
|
51 |
}
|
52 |
}
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* Setups the language chooser based on options
|
56 |
*
|
@@ -60,7 +82,7 @@ class PLL_Frontend extends PLL_Base {
|
|
60 |
$this->links = new PLL_Frontend_Links( $this );
|
61 |
|
62 |
// Don't set any language for REST requests when Polylang Pro is not active
|
63 |
-
if ( ! class_exists( 'PLL_REST_Translated_Object' ) &&
|
64 |
/** This action is documented in include/class-polylang.php */
|
65 |
do_action( 'pll_no_language_defined' );
|
66 |
} else {
|
51 |
}
|
52 |
}
|
53 |
|
54 |
+
/**
|
55 |
+
* Is the current request a REST API request?
|
56 |
+
* Inspired by WP::parse_request()
|
57 |
+
* Needed because at this point, the constant REST_REQUEST is not defined yet
|
58 |
+
*
|
59 |
+
* @since 2.4.1
|
60 |
+
*
|
61 |
+
* @return bool
|
62 |
+
*/
|
63 |
+
public function is_rest_request() {
|
64 |
+
$home_path = trim( parse_url( home_url(), PHP_URL_PATH ), '/' );
|
65 |
+
$home_path_regex = sprintf( '|^%s|i', preg_quote( $home_path, '|' ) );
|
66 |
+
|
67 |
+
$req_uri = trim( $_SERVER['REQUEST_URI'], '/' );
|
68 |
+
$req_uri = preg_replace( $home_path_regex, '', $req_uri );
|
69 |
+
$req_uri = trim( $req_uri, '/' );
|
70 |
+
$req_uri = str_replace( 'index.php', '', $req_uri );
|
71 |
+
$req_uri = trim( $req_uri, '/' );
|
72 |
+
|
73 |
+
return 0 === strpos( $req_uri, rest_get_url_prefix() . '/' );
|
74 |
+
}
|
75 |
+
|
76 |
/**
|
77 |
* Setups the language chooser based on options
|
78 |
*
|
82 |
$this->links = new PLL_Frontend_Links( $this );
|
83 |
|
84 |
// Don't set any language for REST requests when Polylang Pro is not active
|
85 |
+
if ( ! class_exists( 'PLL_REST_Translated_Object' ) && $this->is_rest_request() ) {
|
86 |
/** This action is documented in include/class-polylang.php */
|
87 |
do_action( 'pll_no_language_defined' );
|
88 |
} else {
|
modules/wpml/wpml-legacy-api.php
CHANGED
@@ -116,7 +116,7 @@ if ( ! function_exists( 'icl_link_to_element' ) ) {
|
|
116 |
}
|
117 |
|
118 |
$pll_type = ( 'post' == $type || pll_is_translated_post_type( $type ) ) ? 'post' : ( 'term' == $type || pll_is_translated_taxonomy( $type ) ? 'term' : false );
|
119 |
-
if ( $pll_type && ( $lang = pll_current_language() ) && ( $tr_id = PLL()->model->$pll_type->get_translation( $id, $lang ) ) && PLL()->links->current_user_can_read( $tr_id ) ) {
|
120 |
$id = $tr_id;
|
121 |
} elseif ( ! $return_original_if_missing ) {
|
122 |
return '';
|
116 |
}
|
117 |
|
118 |
$pll_type = ( 'post' == $type || pll_is_translated_post_type( $type ) ) ? 'post' : ( 'term' == $type || pll_is_translated_taxonomy( $type ) ? 'term' : false );
|
119 |
+
if ( $pll_type && ( $lang = pll_current_language() ) && ( $tr_id = PLL()->model->$pll_type->get_translation( $id, $lang ) ) && ( 'term' === $pll_type || PLL()->links->current_user_can_read( $tr_id ) ) ) {
|
120 |
$id = $tr_id;
|
121 |
} elseif ( ! $return_original_if_missing ) {
|
122 |
return '';
|
polylang.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
/**
|
4 |
Plugin Name: Polylang
|
5 |
Plugin URI: https://polylang.pro
|
6 |
-
Version: 2.4
|
7 |
Author: Frédéric Demarle
|
8 |
Author uri: https://polylang.pro
|
9 |
Description: Adds multilingual capability to WordPress
|
@@ -53,7 +53,7 @@ if ( defined( 'POLYLANG_BASENAME' ) ) {
|
|
53 |
}
|
54 |
} else {
|
55 |
// Go on loading the plugin
|
56 |
-
define( 'POLYLANG_VERSION', '2.4' );
|
57 |
define( 'PLL_MIN_WP_VERSION', '4.7' );
|
58 |
|
59 |
define( 'POLYLANG_FILE', __FILE__ ); // this file
|
3 |
/**
|
4 |
Plugin Name: Polylang
|
5 |
Plugin URI: https://polylang.pro
|
6 |
+
Version: 2.4.1
|
7 |
Author: Frédéric Demarle
|
8 |
Author uri: https://polylang.pro
|
9 |
Description: Adds multilingual capability to WordPress
|
53 |
}
|
54 |
} else {
|
55 |
// Go on loading the plugin
|
56 |
+
define( 'POLYLANG_VERSION', '2.4.1' );
|
57 |
define( 'PLL_MIN_WP_VERSION', '4.7' );
|
58 |
|
59 |
define( 'POLYLANG_FILE', __FILE__ ); // this file
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://polylang.pro
|
|
4 |
Tags: multilingual, bilingual, translate, translation, language, multilanguage, international, localization
|
5 |
Requires at least: 4.7
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 2.4
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Making WordPress multilingual
|
@@ -76,6 +76,17 @@ Don't hesitate to [give your feedback](http://wordpress.org/support/view/plugin-
|
|
76 |
|
77 |
== Changelog ==
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
= 2.4 (2018-11-12) =
|
80 |
|
81 |
* Minimum WordPress version is now 4.7
|
@@ -87,7 +98,7 @@ Don't hesitate to [give your feedback](http://wordpress.org/support/view/plugin-
|
|
87 |
* Pro: Fix term not duplicated correctly when the language is set from the content
|
88 |
* Refactor the core to activate on front and for the REST api actions that were previously available only in the backend (language checks, synchronizations...).
|
89 |
* Add flags to widgets displayed in only one language (Props Jory Hogeveen) #257
|
90 |
-
* Honor 'pll_the_language_args' for all options in menus #237
|
91 |
* Add better filters for default flags and custom flags
|
92 |
* Custom flags can now be stored in the polylang directory in the theme
|
93 |
* Custom flags can now use SVG
|
@@ -99,129 +110,4 @@ Don't hesitate to [give your feedback](http://wordpress.org/support/view/plugin-
|
|
99 |
* Fix performance issue when using hundreds of widgets
|
100 |
* Fix translations possibly wrong if the post language is changed without saving the post after
|
101 |
|
102 |
-
= 2.3.11 (2018-10-03) =
|
103 |
-
|
104 |
-
* Pro: Add action 'pll_created_sync_post'
|
105 |
-
* Pro: Fix language and translations not included for tags in the REST API
|
106 |
-
* Fix Assigning a parent category breaking the hierarchy of translated category
|
107 |
-
|
108 |
-
= 2.3.10 (2018-08-16) =
|
109 |
-
|
110 |
-
* Fix Lingotek notice not dismissable
|
111 |
-
* Fix fatal error with the widget calendar
|
112 |
-
|
113 |
-
= 2.3.9 (2018-08-14) =
|
114 |
-
|
115 |
-
* Add a notice to inform about Polylang for WooCommerce
|
116 |
-
* Deprecate PLL_Pointer
|
117 |
-
* Fix bulk editing pages with no language breaking hierarchy #281
|
118 |
-
* Fix an edge case where rewrite rules could be messed on a multisite
|
119 |
-
* MU Domain Mapping: fix secondary domain redirected to primary domain
|
120 |
-
|
121 |
-
= 2.3.8 (2018-07-16) =
|
122 |
-
|
123 |
-
* Pro: Duplicate term meta when duplicating a post creates new terms
|
124 |
-
* Pro: Add compatibility with ACF Pro when it's bundled with the theme
|
125 |
-
* Pro: Fix a fatal error when duplicating posts
|
126 |
-
* Set cookie during the home redirect
|
127 |
-
* Accept a port in the url to detect the site home
|
128 |
-
* Add filter 'pll_is_cache_active' to allow to load the cache compatibility #270 #274
|
129 |
-
* Fix potential fatal error when a 3rd party misuses the 'wpml_active_languages' filter #268
|
130 |
-
* Fix Uncaught TypeError: s.split is not a function. Props Wouter Van Vliet #262
|
131 |
-
* Fix text alignment for RTL scripts in Lingotek panel #247
|
132 |
-
* Fix html language attribute filter on admin
|
133 |
-
* Fix cookie expiration time when set in js. Props Jens Nachtigall #271
|
134 |
-
* Fix fatal error when a 3rd party misuses the WP_Query tax_query param. Props JanneAalto #252
|
135 |
-
* Fix an edge case which could mess home pages on a multisite
|
136 |
-
|
137 |
-
|
138 |
-
= 2.3.7 (2018-06-07) =
|
139 |
-
|
140 |
-
* Pro: The Events Calendar: Fix untranslated events shown in all languages
|
141 |
-
* Avoid displaying edit links of translations of the privacy policy page to non-admin
|
142 |
-
* Fix draft created when creating a new page on multisite
|
143 |
-
* Do not prevent using the cache for home when using WP Rocket 3.0.5 or later #236
|
144 |
-
* Fix language filter applied to wrong queries on admin side
|
145 |
-
|
146 |
-
= 2.3.6 (2018-05-17) =
|
147 |
-
|
148 |
-
* Pro: Fix post type archive slug not translated in ACF page link fields
|
149 |
-
* WP 4.9.6: Translate the privacy policy page
|
150 |
-
* WP 4.9.6: Add the translated user descriptions to exported personal data
|
151 |
-
* Update Plugin updater to version 1.6.16
|
152 |
-
* Fix conflict with the plugin View Admin As. Props Jory Hogeveen. #253
|
153 |
-
|
154 |
-
= 2.3.5 (2018-05-08) =
|
155 |
-
|
156 |
-
* Pro: Fix translated CPT slugs when one CPT name is a substring of another one. Props Steve Reimer.
|
157 |
-
* Pro: Fix canonical redirection for post types archives when the CPT slug is translated
|
158 |
-
* Pro: Fix ACF private key uselessly synchronized when the public custom field is not synchronized
|
159 |
-
* Add filter 'pll_filter_query_excluded_query_vars'
|
160 |
-
* Redirect www. to non www. when using multiple domains
|
161 |
-
* Fix Yoast SEO category sitemap not filtered by language when using multiple domains
|
162 |
-
* Fix PLL_COOKIE === false not honored when using a cache plugin. #248
|
163 |
-
* Fix empty predefined languages list
|
164 |
-
|
165 |
-
= 2.3.4 (2018-03-27) =
|
166 |
-
|
167 |
-
* Pro: Fix conflict with Pods related to translated slugs for custom post types
|
168 |
-
* Add Friulian to the predefined languages list
|
169 |
-
* Fix conflict (javascript error) with Gütenberg #225
|
170 |
-
* Fix conflict on ajax requests introduced by WooCoommerce 3.3.4
|
171 |
-
* Fix queries by 'category_name' not auto translated #238
|
172 |
-
|
173 |
-
= 2.3.3 (2018-03-15) =
|
174 |
-
|
175 |
-
* Pro: Fix tax query using a term sharing slugs (fix a conflict with Fusion Builder)
|
176 |
-
* Restore Polylang (free) on REST requests, while disabling the language filter as in v2.3
|
177 |
-
* Rework auto translated query with taxonomy in different language #223
|
178 |
-
* Synchronize Yoast SEO primary category (needs Yoast SEO 7.0+)
|
179 |
-
* Fix PHP warning introduced by Yoast SEO 7.0 #229
|
180 |
-
* Fix tax query when using the relation 'OR'
|
181 |
-
* Fix a conflict with the combination of Barrel + WP Bakery Page Builder
|
182 |
-
* Fix broken redirect with MU domain mapping #226
|
183 |
-
* Fix site title not translated in password change email
|
184 |
-
|
185 |
-
= 2.3.2 (2018-03-05) =
|
186 |
-
|
187 |
-
* Pro: Fix REST requests not filtered by the requested language (introduced in 2.3).
|
188 |
-
* Pro: Fix error 404 on single posts if posts are untranslatable
|
189 |
-
* Deactivate Polylang (free) on REST requests by default.
|
190 |
-
* Fix translated terms unassigned from posts when deleting a term
|
191 |
-
* Fix auto translated query with taxonomy in different language returning empty results since WP 4.9 #223
|
192 |
-
* Fix conflict with a homepage option of the theme Extra
|
193 |
-
* Fix warning when filtering get_pages()
|
194 |
-
|
195 |
-
= 2.3.1 (2018-02-15) =
|
196 |
-
|
197 |
-
* Pro: Fix GET REST request with slug parameter deleting the post slug
|
198 |
-
* Fix http request with a custom query var being redirected to the home page #216
|
199 |
-
|
200 |
-
= 2.3 (2018-01-30) =
|
201 |
-
|
202 |
-
* Pro: Duplicating a post now duplicates untranslated terms and the featured image (if media are translatable)
|
203 |
-
* Pro: Add filter 'pll_sync_post_fields'
|
204 |
-
* Pro: Translate ACF Pro clone fields when creating a new field group translation
|
205 |
-
* Pro: Allow to share slugs when creating a post or term with the REST API
|
206 |
-
* Pro: Load asynchronously the script added on front for multiple domains and subdomains
|
207 |
-
* Pro: Fix 'lang' parameter not interpreted when the query includes 'name'
|
208 |
-
* Refactor the synchronization of metas for better synchronization and performance improvement
|
209 |
-
* Refactor the synchronization of taxonomy terms for performance improvement
|
210 |
-
* Refactor language and translations saving for performance improvement
|
211 |
-
* Refactor the synchronization of sticky posts
|
212 |
-
* Remove all languages files. All translations are now maintained on https://translate.wordpress.org/projects/wp-plugins/polylang #199
|
213 |
-
* Refactor the list of languages to merge predefined languages, Facebook locales and fixes for W3C locales
|
214 |
-
* Automatically deactivate Polylang when activating Polylang Pro
|
215 |
-
* Disable programmatically translated post types and taxonomies in settings. Props Ulrich Pogson. #180
|
216 |
-
* Set the cookie language in Javascript when a cache plugin is active
|
217 |
-
* Automatically remove the home page from cache when requesting the detection of the browser preferred language
|
218 |
-
* Use relative urls for the admin language filter in admin bar. #209
|
219 |
-
* Disable auto translation of WP_Term_Query if it has a 'lang' parameter
|
220 |
-
* Don't filter REST requests by default. #211
|
221 |
-
* Fix Yoast SEO statistics in dashboard showing only the default language. #211
|
222 |
-
* Fix WP Rocket clearing the cache of the wrong adjacent post
|
223 |
-
* Fix random header image
|
224 |
-
* Fix home page not correctly loaded when adding a query var
|
225 |
-
* Fix: Impossible to change the language code when the language code is also a WordPress locale.
|
226 |
-
|
227 |
See [changelog.txt](https://plugins.svn.wordpress.org/polylang/trunk/changelog.txt) for older changelog
|
4 |
Tags: multilingual, bilingual, translate, translation, language, multilanguage, international, localization
|
5 |
Requires at least: 4.7
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 2.4.1
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Making WordPress multilingual
|
76 |
|
77 |
== Changelog ==
|
78 |
|
79 |
+
= 2.4.1 (2018-11-27) =
|
80 |
+
|
81 |
+
* Pro: Add compatibility with REST API changes made in WP 5.0
|
82 |
+
* Pro: Fix sticky posts in the REST API
|
83 |
+
* Pro: Fix overwritten custom post slug when the post is updated with the REST API
|
84 |
+
* Pro: Fix bulk translate for media
|
85 |
+
* Fix a conflict with Custom sidebars and Content aware sidebars
|
86 |
+
* Fix a conflict with the theme Pokemania
|
87 |
+
* Fix PHP notices when using the function 'icl_link_to_element' for terms
|
88 |
+
* Fix title slugs for posts written in German
|
89 |
+
|
90 |
= 2.4 (2018-11-12) =
|
91 |
|
92 |
* Minimum WordPress version is now 4.7
|
98 |
* Pro: Fix term not duplicated correctly when the language is set from the content
|
99 |
* Refactor the core to activate on front and for the REST api actions that were previously available only in the backend (language checks, synchronizations...).
|
100 |
* Add flags to widgets displayed in only one language (Props Jory Hogeveen) #257
|
101 |
+
* Honor the filter 'pll_the_language_args' for all options in menus #237
|
102 |
* Add better filters for default flags and custom flags
|
103 |
* Custom flags can now be stored in the polylang directory in the theme
|
104 |
* Custom flags can now use SVG
|
110 |
* Fix performance issue when using hundreds of widgets
|
111 |
* Fix translations possibly wrong if the post language is changed without saving the post after
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
See [changelog.txt](https://plugins.svn.wordpress.org/polylang/trunk/changelog.txt) for older changelog
|