Page 1 sur 1

Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 11:20
par IronMarie
Bonjour,

Je souhaiterais avec mon code :
Si on est sur la page d'accueil, on affiche un paragraphe en "h2", sinon en h1.
L'identification de la page d'accueil ne pose pas problème. Là où je n'y arrive pas, c'est à la concaténation des fonctions Wordpress dans mon code HTML. J'ai du mal avec les guillemets et concaténation. Je vous mets le code tel quel :
<?
$url=$_SERVER["REQUEST_URI"];
$urlhompage="/";
if ($url==$urlhompage)

echo ' <h2 class="entry-title full-title"><a href="<?php the_permalink() ?>" title="Permanent link to <?php the_title_attribute() ?>" rel="bookmark" rev="post-<?php the_ID(); ?>"><?php the_title() ?></a></h2> ';

else

echo ' <h1 class="entry-title full-title"><a href="<?php the_permalink() ?>" title="Permanent link to <?php the_title_attribute() ?>" rel="bookmark" rev="post-<?php the_ID(); ?>"><?php the_title() ?></a></h1> ';

?>
Merci beaucoup !!!

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 11:33
par moogli
salut,

avant toute chose, les balises php c'est <?php la version courte que tu utilise n'est plus l'option par défaut de php5 et tu peut avoir de grosse surprise lors de migration de version donc autant directement l'utiliser :)

pour ce qui est de ton problème, je pense que cela vient du fait que du met du php au milieu d'une chaine de caractère.
Par exemple
echo ' <h2 class="entry-title full-title"><a href="<?php the_permalink() ?>" title="Permanent link to <?php the_title_attribute() ?>" rel="bookmark" rev="post-<?php the_ID(); ?>"><?php the_title() ?></a></h2> ';

avec ça c'est sur que the_permalink(),the_title_attribute() et the_title() ne seront pas interprétées, d'ailleurs si tu regarde le code source html de la page généré par code tu verra que le lien est <?php the_permalink() ?> et non le retour de la fonction.

Il faut donc effectivement utiliser la concaténation ou simplement fermer la chaine de caractère, afficher le retour de la fonction et ensuite commencer l'affichage d'une nouvelle chaine.

ceci dit je peux me planter et il peut y avoir un eval de la sortie standard avant envoie au navigateur mais cela serais assez tordu :d

@+

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 11:51
par Mazarini
Bonjour,

Un éditeur avec de la coloration syntaxique aide bien.
echo ' <h2 class="entry-title full-title"><a href="' , the_permalink() , '" title="Permanent link to ' , the_title_attribute() , '" rel="bookmark" rev="post-' , the_ID() '">' , the_title() , '</a></h2> ';
Il est aussi possible de faire plusieurs "echo" pour faciliter la lecture.
echo ' <h2 class="entry-title full-title">';
echo '<a href="' , the_permalink() , '" title="Permanent link to ' , the_title_attribute() , '" rel="bookmark" rev="post-' , the_ID() '">' ;
echo the_title();
echo  '</a>' ;
echo '</h2> ';

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 13:50
par IronMarie
Bonjour,

Donc le code que je vous ais mis n'est effectivement pas concaténé comme je l'ai précisé. Donc oui, dans le code source, je le vois tel quel...

Merci pour l'echo, cependant il ne fonctionne pas. J'essaie de le débuger, mais j'ai encore des blems de guillemets

3EKMSJ

Posté : 10 mai 2011, 13:57
par IronMarie
c'est la ligne
echo '<a href="' , the_permalink() , '" title="Permanent link to ' , the_title_attribute() , '" rel="bookmark" rev="post-' , the_ID() '">' ;
qui pose problème (j'ai opté pour les échos plus visibles :) )

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 13:59
par IronMarie
Il manquait la virgule !!!

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 14:01
par Mazarini
Bonjour,

Il manque une virgule après the_ID()

Edit : Je donne des script faux et en plus je suis lent^^

Re: Aide pour un echo avec trop de guillemets :)

Posté : 10 mai 2011, 16:13
par IronMarie
Non super !
Pour la virgule j'ai pu vite voir qu'il la manquait
Mais j'ai toujours eu du mal à concaténer :)
Bon, je retourne en cuisine moi