$translated_slug = apply_filters( 'wpml_get_translated_slug', string $slug, string $post_type, string $language_code, string $element_type );
- Type
- filter
- Category
- Retrieving Localized Content
- WPML Version
- 3.2.3
Description
- Gets the post type or taxonomy slug translation in a specific language.
- The translation value is saved in WPML → Settings → Post Types Translation.
Arguments
- $slug
- (string) (Required) The value is set in the rewrite argument of the register_post_type function.
- $post_type
- (string) (Required) The first parameter value of the register_post_type or register_taxonomy function.
- $language_code
- (string) (Optional) Return the translation in this language. The default is NULL which returns the current language.
- $element_type
- (string) (Optional) Specifies if the translated slug applies to a custom post type or custom taxonomy. Accepted values are post or taxonomy. The default is post.
Example usage
Post Type Example
Register a book post type with the custom slug my-book.
In WPML → Settings → Post Types Translation, translate the custom slug into Spanish with the value mi-libro.
Use the wpml_get_translated_slug hook to get the Spanish translation of this custom slug, which is mi-libro.

// 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' )
) );
}
Taxonomy Example
Register a genre taxonomy type with the custom slug genre.
In WPML → Taxonomy translation, translate the taxonomy term into Spanish with the value género.
Use the wpml_get_translated_slug hook to get the Spanish translation of this custom slug, which is 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;
Related hooks
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