WPML
$translated_slug = apply_filters( 'wpml_get_translated_slug', string $slug, string $post_type, string $language_code, string $element_type );
Type
filter
Version de WPML
3.2.3

Description

  • Récupère la traduction du slug du type de publication ou de la taxonomie dans une langue spécifique.
  • La valeur de la traduction est enregistrée dans WPMLParamètresTraduction des types de publication.

Arguments

$slug
(string) (Requis) La valeur est définie dans l’argument rewrite de la fonction register_post_type.
$post_type
(string) (Requis) La valeur du premier paramètre de la fonction register_post_type ou register_taxonomy.
$language_code
(string) (Facultatif) Renvoie la traduction dans cette langue. La valeur par défaut est NULL, ce qui renvoie la langue actuelle.
$element_type
(string) (Facultatif) Spécifie si le slug traduit s’applique à un type de publication personnalisé ou à une taxonomie personnalisée. Les valeurs acceptées sont post ou taxonomy. La valeur par défaut est post.

Exemple d’utilisation

Exemple de type de publication
Enregistrez un type de publication book avec le slug personnalisé my-book.

Dans WPMLParamètresTraduction des types de publication, traduisez le slug personnalisé en espagnol avec la valeur mi-libro.

Utilisez le hook wpml_get_translated_slug pour obtenir la traduction espagnole de ce slug personnalisé, qui est mi-libro.

L’exemple pour wpml_get_translated_slug.
L’exemple pour wpml_get_translated_slug.
// Register a "book" post type with the custom slug "my-book"
add_action( 'init', 'register_book_init' );
 
function register_book_init() {
    $labels = array(
        'name'               => _x( 'Books', 'post type general name', 'your-plugin-textdomain' ),
        'singular_name'      => _x( 'Book', 'post type singular name', 'your-plugin-textdomain' )
    );
 
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'rewrite'            => array( 'slug' => 'my-book' ),
    );
 
    register_post_type( 'book', $args ); 
}
 
// Get the Spanish translation of the post type slug "my-book" 
// This value is saved in WPML->Settings->Post Types Translation
$translated_slug = apply_filters( 'wpml_get_translated_slug', 'my-book', 'book' ,'es' , 'post');
// Return "mi-libro"
echo $translated_slug;

// Register a "genre" custom taxonomy to the "book" custom post type
add_action( 'init', 'register_genre_init', 0 );

function register_genre_init() {
	register_taxonomy( 'genre', 'book', array(
		'rewrite'      => array( 'slug' => 'genre' )
	) );
}
Exemple de taxonomie
Enregistrez un type de taxonomie genre avec le slug personnalisé genre.

Dans WPMLTraduction de la taxonomie, traduisez le terme de la taxonomie en espagnol avec la valeur género.

Utilisez le hook wpml_get_translated_slug pour obtenir la traduction espagnole de ce slug personnalisé, qui est género.

// Get the Spanish translation of the custom taxonomy slug "genre" 
// This value is saved in WPML->Settings->Taxonomies Translation
$translated_taxonomy_slug = apply_filters( 'wpml_get_translated_slug', 'genre', 'genre' ,'es', 'taxonomy' );
// Return "género"
echo $translated_taxonomy_slug;

wpml_media_url, wpml_media_id, force_suppress_filters, wpml_home_url, wpml_translate_single_string, wpml_translate_string, wpml_elements_without_translations, wpml_permalink, wpml_unfiltered_admin_string, wpml_element_link

Les 12 hooks de la catégorie Récupération du contenu localisé →