Rank Math description con Polylang e traduzione

La situazione era questa: sito con i plugin Rank Math e Polylang installati per gestire rispettivamente la SEO e le traduzioni del sito.
Poi è stato creato il custom post type prodotto (product) senza usare Woocommerce in formato catalogo.
Il problema era che nei prodotti in lingua la meta description globale di Rank Math non era tradotta nel frontend, nonostante fosse correttamente settata su Rank Math.

Rank Math Description Con Polylang E Traduzione
Rank Math Description Con Polylang E Traduzione

Penso che il motivo sia da attribuire al fatto che è stato usato un custom post type molto particolare e che Rank Math lo confondesse veramente con quello di Woocommerce cercando di applicare le regole di Woocommerce. Ma non avendo questo plugin installato non riusciva a tradurre correttamente la description.
Almeno penso.
Quindi ho provato a scrivere una funzione da usare nel functions.php del tema figlio che vada a fare quello che mi serviva.
Questo è lo script che ho usato e che funziona.

 

/**
 * Use the Description from Global Setting, if the description is missing in the Post metabox
 */
add_action( 'rank_math/frontend/description', function( $description ) {
 global $post;
 $desc = RankMath\Post::get_meta( 'description', $post->ID );
	
 if ( get_post_type( $post->ID ) == 'product' && get_locale() == 'en_US' ) {
	 $desc = RankMath\Helper::get_settings( "titles.pt_{$post->post_type}_description" );
	 $parte_desc=explode(' ➤ ',$desc);
	 $desc = $parte_desc[0]." ➤ testo in lingua tradotto ".$parte_desc[0]." altro testo in lingua tradotto";
 if ( $desc ) {
 return RankMath\Helper::replace_vars( $desc, $post );
 }
	
 }

 return $description;
});

Se ti trovi in difficoltà nell’usare dei plugin e vorresti personalizzare il tuo codice Contattami attraverso questo modulo

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google