Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe de WPML répond aux messages du forum 6 jours sur 7, 22 heures sur 24.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

This thread is resolved. Here is a description of the problem and solution.

Problem : How can I get the ID of the post / page translated?

Solution : In some cases, these IDs are hard-coded into the theme’s PHP and in others, the user selects them in the theme’s setting screen.

To display correctly, the theme needs to select the IDs per language. In WPML, IDs for posts, pages, categories and tags change when the language changes, so the theme needs to use the correct IDs of the active language.

You can use the icl_object_id manually in your theme.

Please read carefully : http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/language-dependent-ids/

Example usage :

icl_object_id(3, 'post', false)

Return the ID of the post that is the translation of post 3. If it’s missing, return NULL.

Mots-clés : 

This topic contains 23 réponses, has 4 participants.

Last updated by aubryN il y a 5 ans et 1 mois.

Assigned support staff: Andrey.

Auteur Messages
août 22, 2014 à 8:39 #455795

aubryN

Bonjour,

Avant tout, tous mes plugins sont à jour, ainsi que la dernière version de WordPress.

J'ai un problème de traduction pour ma page en anglais. Tout est bien traduit, à part la partie "CONTACT" de ma page : hidden link Lorsqu'on regarde dans le code, la partie contact est en effet en "fr" et non en "en" :

<div lang="fr-FR" dir="ltr" id="wpcf7-f153-p78-o1" class="wpcf7">

Est-ce que cela vient du plugin Contact Form 7 (Version 3.9.1) ? Mais j'en doute car même lorsque je change le titre en anglais "Contact en" il n'apparait pas, donc le problème doit venir d'autre part.

Merci de votre aide !

août 22, 2014 à 9:27 #455827

Raul Bernad

Bonjour,

Pouvez-vous s'il vous plaît nous dire comment vous avez traduit le formulaire de contact?

Dans le cas où vous êtes dans le doute, vous pouvez lire le lien suivant où on explique la façon de traduire les formulaires de contact avec Contact Form 7: http://wpml.org/documentation/plugins-compatibility/using-contact-form-7-with-wpml/

J'espère que cela vous aide.

Salutations!

août 22, 2014 à 3:50 #456117

aubryN

J'ai traduit le formulaire grâce au lien ci-dessous que j'avais déjà trouvé.

Mais on voit bien dans le code html, que même le nom de la page : "Contact" n'est pas traduit, hors le titre de la page ne fait pas parti du plugin. Pourtant la partie "gallery" et "about" - nom des titres de pages sont bien traduits : le reste du texte est en cours de traduction).

Hors quand je clique dans ma page CONTACT EN sur "voir la page", j'ai bien le formulaire traduit : voir image :/

août 22, 2014 à 4:09 #456139

Raul Bernad

Je vois que vous utilisez la version 3.1.6 de WPML. Tout d'abord, s'il vous plaît, mettez à jour vers les dernières versions de WPML. Vous pouvez les obtenir dans la section de téléchargement de votre compte wpml.org et les installer via FTP. N'oubliez pas de faire une sauvegarde complète de votre site avant la mise à jour.

Si le problème persiste, s'il vous plaît, laissez-nous savoir si vous avez synchronisé les menus dans WPML > 'Synchroniser les menus WP' avec la bonne page pour chaque langue.

Merci!

août 24, 2014 à 12:33 #456536

aubryN

Bonjour,

J'ai mis fait la mise à jour, mais ça ne change rien,

Concernant les menus WP je ne peux pas y accédez, j'ai ce message :
"Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 49152 bytes) in /home/users/alexiadec/wp-admin/includes/menu.php on line 184"

août 26, 2014 à 2:52 #457880

Andrey
Supporter

Languages: Anglais (English ) Russe (Русский )

Timezone: Europe/Kiev (GMT+03:00)

Our French support is temporarily not available, we apologize for the inconvenience. Can we continue on English ?

If yes, please describe your issue that you have.

août 26, 2014 à 3:22 #457923

aubryN

Ok thanks,

Here is my problem : WPML hasn't translate one part on my english page : the contact section. As you can see on the screenshot, for the "header", "menu", "gallery", "about" parts are OK, but the part "Contact" is not translated ("Contact en" in english).
Every section is a page, and they all work the same technically.

Your collegue asked me to go to WPML menus : but I have this error message : "Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 49152 bytes) in /home/users/alexiadec/wp-admin/includes/menu.php on line 184 "

(By the way, I've set up the last update of WPML a few days ago and now there is again a new version ! How often do you upgrate it !!!)

août 27, 2014 à 9:07 #458322

Andrey
Supporter

Languages: Anglais (English ) Russe (Русский )

Timezone: Europe/Kiev (GMT+03:00)

As I correctly understand you are using Contact From 7. Did you follow this article http://wpml.org/documentation/plugins-compatibility/using-contact-form-7-with-wpml/ ?

About, "Fatal error". Could you please increase PHP memory_limit to 256mb and check if error still appears ?
How to do this:
http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP
If this will not help, then you need to ask your hosting provider to increase PHP memory_limit.

We've recently released a big update and this was the small update, it mainly contains bug fixes.

août 27, 2014 à 10:10 #458353

aubryN

Yes I followed this link for the contact form as you can see in the single page it works : hidden link but not one the ENGLISH main page : hidden link So it is not about Contact form 7. And as you can see on ENGLISH main page : the title "contact" is not translated in "Contact en"... so ...

About Fatal error I put the code below in wp-setting.php :

// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE.
wp_initial_constants();
define( 'WP_MEMORY_LIMIT', '64M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );

Is the code ok ? But I have the same problem, and error : it sames it comes from : .../wp-admin/includes/menu.php on line 184

On line 184 I have this : (line 184 is here line 3) :

// Remove any duplicated separators
$separator_found = false;
foreach ( $menu as $id => $data ) {
	if ( 0 == strcmp('wp-menu-separator', $data[4] ) ) {
		if (false == $separator_found) {
			$separator_found = true;
		} else {
			unset($menu[$id]);
			$separator_found = false;
		}
	} else {
		$separator_found = false;
	}
}
unset($id, $data);

function add_cssclass($add, $class) {
	$class = empty($class) ? $add : $class .= ' ' . $add;
	return $class;
}

function add_menu_classes($menu) {

	$first = $lastorder = false;
	$i = 0;
	$mc = count($menu);
	foreach ( $menu as $order => $top ) {
		$i++;

		if ( 0 == $order ) { // dashboard is always shown/single
			$menu[0][4] = add_cssclass('menu-top-first', $top[4]);
			$lastorder = 0;
			continue;
		}

		if ( 0 === strpos($top[2], 'separator') && false !== $lastorder ) { // if separator
			$first = true;
			$c = $menu[$lastorder][4];
			$menu[$lastorder][4] = add_cssclass('menu-top-last', $c);
			continue;
		}

		if ( $first ) {
			$c = $menu[$order][4];
			$menu[$order][4] = add_cssclass('menu-top-first', $c);
			$first = false;
		}

		if ( $mc == $i ) { // last item
			$c = $menu[$order][4];
			$menu[$order][4] = add_cssclass('menu-top-last', $c);
		}

		$lastorder = $order;
	}
août 27, 2014 à 2:24 #458610

Andrey
Supporter

Languages: Anglais (English ) Russe (Русский )

Timezone: Europe/Kiev (GMT+03:00)

I would suggest you consider providing me with temporary access (wp-admin and FTP) to your site in order to be of better help.
You will find the needed fields for this below the comment area when you log in to leave your next reply.
The information you will enter is private which means only you and I can see and have access to it.

août 28, 2014 à 9:28 #459074

Andrey
Supporter

Languages: Anglais (English ) Russe (Русский )

Timezone: Europe/Kiev (GMT+03:00)

Essential Grid plugin causing this problem. I had to deactivate it and everything is working, now I can add items to the menu. Please check.

hidden link

août 28, 2014 à 9:35 #459087

aubryN

Nope... this is ok in the menu, right, but the contact page is not translated in the bottom of the page ! See the title !

août 28, 2014 à 9:38 #459090

aubryN

By the way, once you'll finish testing it, do you let the website like it was before ? I mean you added "links" > "galleries", "test" and Essential grid is off ? Everyting will be ok ?

Thanks

août 28, 2014 à 9:58 #459107

Andrey
Supporter

Languages: Anglais (English ) Russe (Русский )

Timezone: Europe/Kiev (GMT+03:00)

I've returned as it was. Essential grid, you can enable it, but you will not able to add items to the menu. This is compatibility issue.

Do you mean about this string "© Alexia de Cockborne 2014. Tous droits réservés - Mentions Légales " ?

août 28, 2014 à 10:51 #459162

aubryN

No, I know how to translate the footer !

See my attached picture to see what I'm talking about since the beginning : the contact part !

I begin to wonder if my english is so bad that I'm not understandable... u_u

The contact part is not translated, whereas, gallery and about (just above) are ok ! They're translated.... You see ?