web-dev-qa-db-fra.com

WPML: obtenir le titre de la page dans une langue différente

j'utilise mon site Web en anglais et en allemand à l'aide du plugin WPML. ma question: en mode anglais - est-il possible d’obtenir le page_title () mais en allemand?

merci

5
Fuxi

Supposons que la langue d'origine de votre site est l'anglais. Lorsque vous consultez un article en allemand, vous renvoyez le titre de l'article en anglais correspondant.

// Get the post ID of original post
$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

// Get original post title
$original_title = get_the_title( $original_ID );

J'espère que cela vous aidera, dans tous les cas, consultez la documentation de icl_object_id ();

4
mike23

Merci pour ce mike23, a été une bouée de sauvetage pour moi aujourd'hui. Cependant, ce code exact ne fonctionnait pas pour moi, mais j'ai dû faire quelques modifications pour que cela fonctionne dans ma situation, ce qui peut être dû à une version plus récente du plugin WPML.

Je devais changer:

$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

à:

$original_ID = icl_object_id( $post->ID, 'any', false, 'en' );

Notez que le seul changement est 'post' -> 'any'. C'est un petit changement, mais fait un monde de différence comme tout autre type dans lequel je suis entré ne fonctionnerait pas pour moi. J'espère que cela aidera quelqu'un qui rencontre le même problème.

PS: J'ai trouvé que le type "n’importe" pouvait être utilisé en allant dans le fichier où cette fonction est créée: /wp-content/plugins/sitepress-multilingual-cms/inc/template-functions.php. Dans le fichier, recherchez icl_object_id ().

2
psychedelus