Das Plugin Polylang zum Übersetzen von WordPress Blogs hat für Posts/Pages für jede Sprache eine andere ID. Dies führt dazu, dass auch nach dem Umstellen der Sprache, mit der standard WordPress Funktion zum Umwandeln von Ids zu Links, get_page_link($id) der Link in der Standardsprache zurückgegeben wird. All diese Links auf pll_get_post($id) umzustellen ist eine Arbeit die man sich mit meinem Hook ersparen kann.
In functions.php des gewählten Themes:
// // Show link of translated post/page id with get_page_link($id) and polylang plugin. // function getPageLinkTranslated( $post = false, $leavename = false, $sample = false ) { $post = pll_get_post(url_to_postid($post)); //rewrite id to id of correct language! $post = get_post( $post ); if ( 'page' == get_option( 'show_on_front' ) && $post->ID == get_option( 'page_on_front' ) ) $link = home_url('/'); else $link = _get_page_link( $post, $leavename, $sample ); return $link; } add_filter('page_link', 'getPageLinkTranslated');
Schreibe einen Kommentar