Bonjour à tous,

Après des recherches interminables, parce que oui j'ai cherché, comme un taré et je sais après avoir lu 150 fois que mon problème à déjà été traité et que les gens en ont marre de voir ce genre de message mais j'ai un problème avec des cookies.

Je suis stagiaire en dev-web et le problème c'est que je suis seul dans la boite qui ai des notions de programmation...bon on est pas ici pour parlé de ma vie.
Les sites sur lesquels je travail ont été fait avec Wordpress et je suis censé créé une gestion du multilingue à l'aide de drapeaux qui font office de lien et change la langue du site si "click" il y a eu sur les drapeau (qui sont des images).

Pour stocker la langue sélectionnée j'ai choisit de passer par l'incorporation de cookies. Je ne peut pas utiliser les autres supers globales; $_GET $_POST ni $_SESSION à cause des paramètres url wordpress mis en place et du fait que ce n'est pas un formulaire.

Du coup j'utilise le code suivant mis avant le header:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$id_page = get_the_ID();
 
if (isset($_COOKIE['language']))
setcookie('language','',-1);
 
if ($id_page == 2) /*if the biography is french*/
{
	setcookie('language', 'fr', time() + 24*3600, null, null, false, true);
	echo 'j\'ai mis le cookie en ' . $_COOKIE['language'];
}
if ($id_page == 826)  /*if the biography is english*/
{
	setcookie('language', 'en', time() + 24*3600, null, null, false, true);
	echo 'j\'ai mis le cookie en ' . $_COOKIE['language'];
}
if ($id_page == 841)   /*if the biography is spanish*/
{
	setcookie('language', 'esp', time() + 24*3600, null, null, false, true);
	echo 'j\'ai mis le cookie en ' . $_COOKIE['language'];
}
if ($id_page == 839)  /*if the biography is italian*/
{
	setcookie('language', 'it', time() + 24*3600, null, null, false, true);
	echo 'j\'ai mis le cookie en ' . $_COOKIE['language'];
}
if ($id_page == 837)  /*if the biography is german*/
{
	setcookie('language', 'de', time() + 24*3600, null, null, false, true);
	echo 'j\'ai mis le cookie en ' . $_COOKIE['language'];
}
?>

Les cookies se créent bien mais c'est lors du changement de page que mon cookie redevient fr et je ne trouve pas pour quoi?!

Pour passer de page en page j’utilise un menu via ce code qui est aussi de moi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<div id="menu">
		<?php if (isset($_COOKIE['language'])): echo $_COOKIE['language']; ?>
			<h3>
				 <?php if (strcmp($_COOKIE['language'], 'fr') == 0):?><a href="<?php echo get_permalink(2); endif; ?>
				  <?php if (strcmp($_COOKIE['language'], 'en') == 0) :?><a href="<?php 	echo get_permalink(826); endif; ?>
				  <?php	if (strcmp($_COOKIE['language'], 'esp') == 0) :?><a href="<?php  echo get_permalink(841); endif; ?>
				 <?php if (strcmp($_COOKIE['language'], 'de') == 0) :?><a href="<?php 	echo get_permalink(837); endif; ?>
				  <?php	if (strcmp($_COOKIE['language'], 'it') == 0) :?><a href="<?php	echo get_permalink(839); endif; ?>
				 ">THE JAZZ THING &nbsp;&nbsp;&nbsp;</a> 
				| <a href="<?php echo get_permalink(874); ?>">&nbsp;&nbsp;&nbsp; BLOG &nbsp;&nbsp;&nbsp;</a>
				| <a href="<?php echo get_permalink(810);?>">&nbsp;&nbsp;&nbsp; SHOWS &nbsp;&nbsp;&nbsp;</a>
				| <a href="">&nbsp;&nbsp;&nbsp; IMAGES &nbsp;&nbsp;&nbsp;</a> 
				| <?php if (strcmp($_COOKIE['language'], 'fr') == 0): echo '1';?><a href="<?php echo get_permalink(412); endif;?>
				  <?php	if (strcmp($_COOKIE['language'], 'en') == 0) : echo '2';?><a href="<?php	echo get_permalink(696); endif; ?>
				 <?php	if (strcmp($_COOKIE['language'], 'esp') == 0) : echo '5';?><a href="<?php  echo get_permalink(848); endif; ?>
				  <?php	if (strcmp($_COOKIE['language'], 'de') == 0) : echo '4';?><a href="<?php echo get_permalink(854); endif; ?>
				  <?php	if (strcmp($_COOKIE['language'], 'it') == 0) : echo '3';?><a href="<?php 	echo get_permalink(846); endif; ?>
				  ">&nbsp;&nbsp;&nbsp; PRO &nbsp;&nbsp;&nbsp;</a>
			</h3>
			<?php endif; ?>
		</div>
Pour ceux qui se pose la question oui c'est crade, ça brule les yeux ect mais apparement on est obligé de coder comme cela avec wordpress...

Si vous avez une solution qui me ferais avancer ça serais vraiment génial ! Si vous avez la flem parce que je suis le xième gars qui demande ce genre d'info je me contenterais aisément de l'url pour résoudre mon problème.

P.S: Tout ceci est dans mon header.php, de plus, j'utilise un seul page.php pour les pages du site, grâce à comment dire la hiérarchie Wordpress...