WPML
do_action( 'wpml_register_single_string', string $context, string $name, string $value )
Tipo
action
Categoría
Insertar contenido
Versión de WPML
3.2

Descripción

Registra una cadena de texto individual para su traducción (a diferencia de una cadena que forma parte de un paquete). Esta acción se usa habitualmente para los textos introducidos por el usuario, también conocidos como «cadenas de texto dinámicas».

Para recuperar la traducción de una cadena, consulte: wpml_translate_single_string

Para registrar una cadena de texto que forma parte de un paquete, consulte: wpml_register_string

Nota: Este hook requiere el módulo WPML Traducción de cadenas

Argumentos

$context
(string) (Obligatorio) Este valor da un contexto a la cadena que está a punto de registrar. Por lo general, será el nombre del plugin o tema, en un formato legible para humanos
$name
(string) (Obligatorio) El nombre de la cadena que ayuda al traductor a entender qué se está traduciendo
$value
(string) (Obligatorio) La cadena que necesita ser traducida
$allow_empty_value
(bool: false por defecto) (Opcional) Si se permite o no un valor vacío
$source_lang_code
(string) (Opcional) El código de idioma para la cadena registrada

Ejemplo de uso

Imagine que ha creado un widget personalizado con un campo de entrada para el título y algunas otras opciones. Puede registrar el título del widget para su traducción utilizando apply_filters, pero también desea registrar el texto de entrada que puede guardar en los otros campos de opciones del widget.

El registro de los textos de entrada para su traducción se realiza mejor cuando se guardan o actualizan las opciones del widget, es decir, dentro del método «update» de los widgets.

A continuación, se muestra un ejemplo de cómo podría verse el código. Nuestro widget personalizado de ejemplo tiene un título, un campo de entrada de una sola línea y un área de texto.

Ejemplo
function update($new_instance, $old_instance){
	$instance = $old_instance;
	$instance['title'] 		= strip_tags($new_instance['title']);
	$instance['custom_input'] 	= strip_tags($new_instance['custom_input']);
	$instance['custom_textarea'] 	= $new_instance['custom_textarea'];

	//WPML
	/**
	 * register strings for translation
	 */
	do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - input field', $instance['custom_input'] );
	do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - textarea field', $instance['custom_textarea'] );
	//WPML

	return $instance;
}

El código anterior le indica a WPML que el texto introducido por el usuario para el campo de entrada y el área de texto necesita ser traducido. Los textos se registrarán bajo el contexto de cadenas Widgets con el nombre Custom Widget – input field y Custom Widget – textarea field respectivamente.

wpml_set_element_language_details, wpml_make_post_duplicates, wpml_admin_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_import_get_trid_from_imported_translations, wpml_register_string, wpml_show_package_language_ui, wpml_delete_package_action

Los 10 hooks de Insertar contenido →