Astra_Breadcrumb_Trail::get_translated_term_name( object $term )
Get translated term name based on the current language context.
Description
Supports WPML and Polylang translation plugins.
Parameters
- $term
-
(object) (Required) The term object.
Return
(string) The translated term name.
Source
File: inc/addons/breadcrumbs/class-astra-breadcrumb-trail.php
protected function get_translated_term_name( $term ) {
$translated_name = $term->name;
if ( function_exists( 'icl_object_id' ) && function_exists( 'icl_get_current_language' ) ) {
$current_lang = icl_get_current_language();
$translated_term_id = icl_object_id( $term->term_id, $term->taxonomy, false, $current_lang );
if ( $translated_term_id && $translated_term_id !== $term->term_id ) {
$translated_term = get_term( $translated_term_id, $term->taxonomy );
if ( $translated_term instanceof WP_Term ) {
$translated_name = $translated_term->name;
}
}
}
elseif ( function_exists( 'pll_get_term' ) && function_exists( 'pll_current_language' ) ) {
$current_lang = pll_current_language();
$translated_term_id = pll_get_term( $term->term_id, $current_lang );
if ( $translated_term_id && $translated_term_id !== $term->term_id ) {
$translated_term = get_term( $translated_term_id, $term->taxonomy );
if ( $translated_term instanceof WP_Term ) {
$translated_name = $translated_term->name;
}
}
}
/** @psalm-suppress TooManyArguments - WordPress apply_filters accepts variable arguments */
$translated_name = apply_filters( 'astra_breadcrumb_translated_term_name', $translated_name, $term );
return esc_html( $translated_name );
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 4.12.0 | Introduced. |