WPML
do_action( 'wpml_register_single_string', string $context, string $name, string $value )
Tipo
action
Categoria
Inserir conteúdo
Versão do WPML
3.2

Descrição

Registra uma string de texto individual para tradução (ao contrário de uma string que faz parte de um pacote). Essa ação geralmente é usada para textos de entrada do usuário, também conhecidos como “strings de texto dinâmicas”.

Para recuperar a tradução de uma string, consulte: wpml_translate_single_string

Para registrar uma string de texto que faz parte de um pacote, consulte: wpml_register_string

Nota: Este hook requer o módulo WPML Tradução de Strings

Argumentos

$context
(string) (Obrigatório) Este valor dá um contexto à string que você está prestes a registrar. Geralmente, este será o nome do plugin ou tema, em um formato legível por humanos
$name
(string) (Obrigatório) O nome da string que ajuda o tradutor a entender o que está sendo traduzido
$value
(string) (Obrigatório) A string que precisa ser traduzida
$allow_empty_value
(bool: false por padrão) (Opcional) Se um valor vazio é permitido ou não
$source_lang_code
(string) (Opcional) O código do idioma para a string registrada

Exemplo de uso

Imagine que você criou um widget personalizado com um campo de entrada de título e algumas outras opções. Você pode registrar o título do widget para tradução usando apply_filters, mas você também quer registrar o texto de entrada que você pode salvar nos outros campos de opção do widget.

O registro de textos de entrada para tradução é melhor realizado quando as opções do widget são salvas ou atualizadas, ou seja, dentro do método ‘update’ dos widgets.

Abaixo está um exemplo de como o código pode ficar. Nosso widget personalizado de exemplo tem um título, um campo de entrada de linha única e uma área de texto.

Exemplo
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;
}

O código acima diz ao WPML que o texto de entrada do usuário para o campo de entrada e a área de texto precisa ser traduzido. Os textos serão registrados sob o contexto de strings Widgets com o nome Custom Widget – input field e 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

Todos os 10 hooks de Inserir conteúdo →