Pokud používáte pro vytváření překladů WPML, můžete se setkat s tím, že potřebujete získat url určité stránky pro více jazyků. Typicky jde o odkaz z loga stránky, nebo o odkazy z patičky, které jsou v šabloně.
Můžete použít funkce get_permalink($page_id), jenž vrací url dané stránky. U vícejazyčného webu tak získáte jen url stránky v defaultním jazyce.
Naštěstí můžete využít funkci icl_object_id(). Ta zohlední vybraný jazyk a vrátí vám odpovídající id stránky.
Pro statickou stánku na homepage jsem do loga použil tento snippet:
<?php $home_url = icl_object_id(9, 'post', true); ?> <h1> <a href="<?php echo get_permalink($home_url); ?>"> <img src="<?php echo get_template_directory_uri(); ?>/images/logo.png" alt=""> </a> </h1> |
Díky tomu povede odkaz z loga vždy na hlavní stranu ve zvoleném jazyce.