- availability:
-
WPML Version: 3.2
- description:
-
*Retrieves an individual (as opposed to a string that is part of a package**) text string translation. The filter looks for a string with matching $domain and $name. If it finds it, it looks for a translation in the current language or the language you specify. If a translation exists, it will return it. Otherwise, it will return the original string.
*To register a string for translation please see: wpml_register_single_string
**For retrieving a string translation that is part of a package please see: wpml_translate_stringNote: This hook requires the WPML String Translation module
- type:
- filter
- category:
- Retrieving Localized Content
- parameters:
-
apply_filters( 'wpml_translate_single_string', string $original_value, string $domain, string $name, string $language_code )
- $original_value
- (string) (Required) The string’s original value
- $domain
- (string) (Required) The string’s registered domain
- $name
- (string) (Required) The string’s registered name
- $language_code
- (string) (Optional) Return the translation in this language. Default is NULL which returns the current language
- hook example usage:
-
We pick up the same example of the widget we used for the“wpml_register_single_string” action hook. You may want to go there to refresh your memory. We use the “wpml_translate_single_string” filter in the widget’s output function
Example
1234567891011121314function
widget(
$args
,
$instance
){
extract(
$args
);
$title
= apply_filters(
'widget_title'
,
$instance
[
'title'
] );
$custom_input
= apply_filters(
'wpml_translate_single_string'
,
$instance
[
'custom_input'
],
'Widgets'
,
'Custom Widget - input field'
);
$custom_textarea
= apply_filters(
'wpml_translate_single_string'
,
$instance
[
'custom_textarea'
],
'Widgets'
,
'Custom Widget - textarea field'
);
# Before the widget
echo
$before_widget
;
# The title
if
(
$title
)
echo
$before_title
.
$title
.
$after_title
;
# Output...