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 );
	}

Changelog

Changelog
Version Description
4.12.0 Introduced.


User Contributed Notes

You must log in before being able to contribute a note or feedback.