Resolved
Overview of the issue
When using the Make Column Clickable Elementor plugin with Elementor, it’s not possible to translate the links that are added to the columns.
Workaround
- Open the wp-content/plugins/make-column-clickable-elementor/includes/class-column-clickable.php file.
- Replace the following snippet (around line 52):
123456789101112
public
function
before_render_options(
$element
) {
$settings
=
$element
->get_settings_for_display();
if
( isset(
$settings
[
'column_link'
],
$settings
[
'column_link'
][
'url'
] ) && !
empty
(
$settings
[
'column_link'
][
'url'
] ) ) {
wp_enqueue_script(
'make-column-clickable-elementor'
);
$element
->add_render_attribute(
'_wrapper'
,
'class'
,
'make-column-clickable-elementor'
);
$element
->add_render_attribute(
'_wrapper'
,
'style'
,
'cursor: pointer;'
);
$element
->add_render_attribute(
'_wrapper'
,
'data-column-clickable'
,
$settings
[
'column_link'
][
'url'
] );
$element
->add_render_attribute(
'_wrapper'
,
'data-column-clickable-blank'
,
$settings
[
'column_link'
][
'is_external'
] ?
'_blank'
:
'_self'
);
}
}
- With this:
12345678910111213141516
public
function
before_render_options(
$element
) {
$settings
=
$element
->get_settings_for_display();
if
( isset(
$settings
[
'column_link'
],
$settings
[
'column_link'
][
'url'
] ) && !
empty
(
$settings
[
'column_link'
][
'url'
] ) ) {
wp_enqueue_script(
'make-column-clickable-elementor'
);
//WPML - Workaround (ticket ID: compsupp-6157)
do_action(
'wpml_register_single_string'
,
'Make Column Clickable Elementor'
,
'Link - '
.
$settings
[
'column_link'
][
'url'
],
$settings
[
'column_link'
][
'url'
] );
$settings
[
'column_link'
][
'url'
] = apply_filters(
'wpml_translate_single_string'
,
$settings
[
'column_link'
][
'url'
],
'Make Column Clickable Elementor'
,
'Link - '
.
$settings
[
'column_link'
][
'url'
] );
$element
->add_render_attribute(
'_wrapper'
,
'class'
,
'make-column-clickable-elementor'
);
$element
->add_render_attribute(
'_wrapper'
,
'style'
,
'cursor: pointer;'
);
$element
->add_render_attribute(
'_wrapper'
,
'data-column-clickable'
,
$settings
[
'column_link'
][
'url'
] );
$element
->add_render_attribute(
'_wrapper'
,
'data-column-clickable-blank'
,
$settings
[
'column_link'
][
'is_external'
] ?
'_blank'
:
'_self'
);
}
}
- Visit the page on front-end, to register the strings.
- Translate those links on WPML > String Translation, under the “Make Column Clickable Elementor” textdomain.