- 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
//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' ) );