- availability:
-
WPML Version: 3.2
- description:
-
Returns a post type link or taxonomy term link in the current language.
* Note: There are alternative ways to retrieve an element’s link which gives developers fuller control over the HTML output.
WordPress offers a number of functions to do this such asget_permalink()
,get_term_link()
, etc.If you plan on using functions that require a post type or term ID as a parameter then you may be interested in looking into the
wpml_object_id
filter. - type:
- filter
- category:
- Retrieving Localized Content
- parameters:
-
apply_filters( 'wpml_element_link', int $element_id, string $element_type, string $link_text, array $optional_parameters, string $anchor, bool $echo, bool $return_original_if_missing )
- $element_id
- (int) (Required) The ID of the post type (post, page, attachment, custom post) or taxonomy term (tag, category, custom taxonomy) to link to
- $element_type
- (string) (Optional) The type of element to link to. Can be ‘post’, ‘page’, ‘attachment’, ‘{custom post}’, ‘tag’, ‘category’, ‘{custom taxonomy}’. Defaults to ‘post’
- $link_text
- (string) (Optional) The link text. Defaults to the element’s name
- $optional_parameters
- (array) (Optional) Arguments for the link
- $anchor
- (string) (Optional) Anchor for the link
- $echo
- (bool) (Optional) 0|false to return or 1|true to echo the localized link. Defaults to true
- $return_original_if_missing
- (bool) (Optional) If set to true it will always return a value (the original value, if translation is missing). Default is TRUE
- hook example usage:
-
Examples
1234567891011121314151617//produces: <a href="/hello-world/">Hello World!</a>
apply_filters(
'wpml_element_link'
, 1 );
//produces: <a href="/sample-page/">Custom link text for the sample page</a>
apply_filters(
'wpml_element_link'
, 2,
'page'
, __(
'Custom link text for the sample page'
) );
//produces: <a href="/sample-page/?category=foo&bar=baz">Sample Page</a>
apply_filters(
'wpml_element_link'
, 2,
'page'
,
''
,
array
(
'category'
=>
'foo'
,
'bar'
=>
'baz'
) );
//produces: <a href="/sample-page/#contact">Sample Page</a>
apply_filters(
'wpml_element_link'
, 2,
'page'
,
''
,
''
,
'contact'
);
//produces: <a href="/category/uncategorized/">Uncategorized</a>
apply_filters(
'wpml_element_link'
, 1,
'category'
);
//produces: <a href="/?attachment_id=25">'Attachment image title</a>
apply_filters(
'wpml_element_link'
, 25,
'attachment'
, __(
'Attachment image title'
) );