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.
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
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!