J’aime beaucoup Slim SEO, si tu cherches une extension pour tes besoins SEO simple à configurer, qui s’intègre bien à WordPress sans surcharger ton tableau de bord et te noyer sous les publicités, fonce !
J’ai récemment publié mon site dans sa version anglophone pour le rendre plus accessible et correspondre à mes besoins futurs. Mon fil d’Ariane est géré avec Slim SEO et j’ai rencontré un petit souci : le lien vers la page d’accueil pointe toujours vers la racine du site, dans mon cas la version francophone. J’utilise Polylang pour le multilingue, et malgré l’intégration de Slim SEO je n’ai pas l’impression que le problème ait été adressé.
Modifier le lien d’accueil du fil d’ariane de Slim SEO vers la page d’accueil de langue la courante avec Poylang
Comme je n’ai pas trouvé de solution qui me convenait, voici la mienne pour modifier le lien vers la page d’accueil.
L’idée
- Intercepter les liens du fil d’Ariane générés par Slim SEO, ça tombe bien, on a un hook.
- Remplacer l’URL de la première entrée (la page d’accueil) par celle traduite dans la langue actuelle, si Polylang est actif.
- Retourner les liens modifiés pour qu’ils soient affichés correctement dans la langue en cours.
Extrait de code
/**
* Modify Slim SEO breadcrumb links to support Polylang-translated front page URLs.
*
* Replaces the URL of the first breadcrumb link with the correct language-specific front page URL
* using Polylang's `pll_get_post()` and `pll_current_language()`.
*
* @param array $links Array of breadcrumb links.
* @return array Modified breadcrumb links with language-specific home URL.
*/
add_filter('slim_seo_breadcrumbs_links', function($links) {
if (empty($links)) {
return $links;
}
if (function_exists('pll_current_language')) {
$lang = pll_current_language();
$front_page_id = get_option('page_on_front');
$home_page_id = function_exists('pll_get_post') ? pll_get_post($front_page_id, $lang) : $front_page_id;
if ($home_page_id) {
$home_url = get_permalink($home_page_id);
$links[0]['url'] = $home_url;
}
}
return $links;
});
Langage du code : PHP (php)
J’espère que cette publication t’aidera. Si tu as des questions, besoin de support sur ton site WordPress, ou que tu veux apporter ta contribution pour améliorer l’extrait de code, n’hésite pas à me contacter ou à laisser un petit commentaire !
<( ̄︶ ̄)>
Laisser un commentaire