Condition ne marche pas avec un titre wordpress

Signaler
-
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Bonjour,
voilà mon soucis j ai fais une condition qui récupère le titre d'une page et en fonction j'affiche un contenu. Ça ne marchait pas alors j'ai changé ma condition pour voir si le titre était bien égal ou non au titre dans ma condition, et il se trouve qu'il est bien égal, et je ne sais pas d'où vient le problème. CA me le fait seulement avec Education à l'image qui est aussi une catégorie contenant des sous-catégories


<?php if(get_the_title()!="Education à l'image"):echo get_the_title(); echo "Education à l'image";?>

<?php
$cat=get_the_title();$c=0;
?>
<?php $subcats = get_categories('hierarchical=1&child_of='.get_category_by_slug("$cat")->term_id);
foreach ($subcats as $subcat): if($c!=3):?>

<div class="single_bande">
<div class="les_titres_bandes box2">
<a class="h1_<?php echo $nb;?>" href="#"><h1><?php echo $subcat->cat_name; ?></h1><a>
</div>
<div class="imgs_bandes">
<div><img src="adresse_de_l_image" alt="img" /></div>
<div><img src="adresse_de_l_image" alt="img" /></div>
<div><img src="adresse_de_l_image" alt="img" /></div>
</div>
</div>
<div class="texte_bande bloc_<?php echo $nb;?>">
<p>texte de présentation</p>
</div>
<?php $c++;$nb++;?>
<?php endif;endforeach; ?>
<?php endif;?>

Pouvez vous m'aider ? merci !

2 réponses

Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
351
Bonjour,

A mon avis.. c'est du à l'apostrophe ...
Tu peux essayer d'utiliser du UTF8_Encode ou en échappant l'apostrophe => "Education à l\'image"

Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
351
Cela dit en mettant la condition "n est pas égal ça marche
Ben c'est comme ça que tu nous l'as présenté......

Sinon.. quand tu faisais le test sur l'Egalité.. tu l'écrivais comment ??
Messages postés
7
Date d'inscription
jeudi 6 mars 2014
Statut
Membre
Dernière intervention
7 mars 2014

ooh d"accord merci j avais oublié....

$str = "Education à l'image";
$t=get_the_title();
$x=htmlentities($str, ENT_QUOTES , "UTF-8");echo $x;echo $t;
if($t==$x ):
$cat=get_the_title();$c=0;
?>
ceci ne fais pas ce qu il y a apres ma condition, il considère que mes 2 variables ne sont pas égale et les echo montrent la même valeur
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
"Education" ne devrait il pas avoir un "é" majuscule dès fois ?

E =/= É
Messages postés
7
Date d'inscription
jeudi 6 mars 2014
Statut
Membre
Dernière intervention
7 mars 2014

Si mais l'accent n'a rien à voir avec mon soucis je pense
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
les catégories n'ont pas d'id ?

ce serait plus simple de faire
if(id == 1)
Messages postés
33146
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 juillet 2021
351
C'est bizarre ton truc...
Faudrait savoir comment ta fonction get_title() te donne le résultat...

On peut aussi tester avec la fonction : strcmp (si les deux chaines sont identiques il retourne 0 )

J'ai inséré aussi un TRIM pour supprimer les caractères invisibles qui pourraient se trouver en debut/fin de tes chaines de caractères.
J'ai aussi ajouté un strlen pour savoir si la longueur de tes chaines sont identiques ou non..

$str =;
  $t=trim(htmlentities(get_the_title(), ENT_QUOTES , "UTF-8"));
  $x=trim(htmlentities( "Education à l'image", ENT_QUOTES , "UTF-8"));


if (strlen($x)==strlen($t)){
    if(strcmp($t,$x )==0){
         echo "Valeurs identiques";
   }else{
     echo "Valeurs différentes ...";
         echo "  x-> ".$x;
         echo "  t -> ".$t;
   }
}else{
  echo "Les chaines sont de tailles différentes";
  echo "  X -> ".strlen($x);
  echo "  T -> ".strlen($t);
}
  ?>


Avec tout ça... si ça ne fonctionne toujours pas... là je ne comprend pas...



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Messages postés
7
Date d'inscription
jeudi 6 mars 2014
Statut
Membre
Dernière intervention
7 mars 2014

j essaye merci encore