- availability:
-
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.
- type:
- filter
- category:
- Retrieving Localized Content
- parameters:
-
$translated_slug = apply_filters( 'wpml_get_translated_slug', string $slug, string $post_type, string $language_code, string $element_type );
- $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.
- hook 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.The example for wpml_get_translated_slug. 1234567891011121314151617181920212223242526272829303132333435// 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.12345// 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
;