- Statut : non résolu
- Ce sujet contient 10 réponses, 3 participants et a été mis à jour pour la dernière fois par
Olivier, le il y a 15 années et 8 mois.
-
AuteurMessages
-
24 mai 2009 à 17 h 53 min #470460
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 2.7.1Problème(s) rencontré(s) :
j’ai une page d’ID 100 avec cette loop dedans:
<?php if (have_posts()) : ?>
<?php query_posts('orderby=category&order=asc&cat=133'); ?>
<?php while (have_posts()) : the_post(); ?>
codes etc…
<?php endwhile; ?>
<?php endif; ?>et dans footer.php ce code pour éviter d’afficher certaines choses sur la page d’ID 100:
<?php if ( !is_page('100')) { ?>
test
<?php } ?>et bien le mot « test » s’affiche quand même sur ma page d’ID 100 😕
Si je retire tous les codes à l’intérieur de la loop, le mot « test » s’affiche, donc mon problème doit venir de
<?php if (have_posts()) : ?>
<?php query_posts('orderby=category&order=asc&cat=133'); ?>
<?php while (have_posts()) : the_post(); ?>
<?php endwhile; ?>
<?php endif; ?>Si j’enléve ma loop entière, le mot « test » n’est pas affiché (ce que fait donc le code dans footer.php), mais je suis pratiquement sur de n’avoir pas fait d’erreurs
++
24 mai 2009 à 20 h 15 min #673645la boucle affiche plusieurs posts non? donc le 100 mais aussi d’autres… si le 100 n’est pas le dernier, c’est mort…
24 mai 2009 à 20 h 59 min #673644nan mais justement l’ID 100 c’est pour la page, donc rien à voir avec les posts de la loop.
25 mai 2009 à 7 h 29 min #673646voici le code de la fonction :
/**
* Whether query is page or contains given page(s).
*
* Calls the function without any parameters will only test whether the current
* query is of the page type. Either a list or a single item can be tested
* against for whether the query is a page and also is the value or one of the
* values in the page parameter.
*
* The parameter can contain the page ID, page title, or page name. The
* parameter can also be an array of those three values.
*
* @since 1.5.0
* @uses $wp_query
*
* @param mixed $page Either page or list of pages to test against.
* @return bool
*/
function is_page ($page = ») {
global $wp_query;
if ( !$wp_query->is_page )
return false;
if ( empty($page) )
return true;
$page_obj = $wp_query->get_queried_object();
$page = (array) $page;
if ( in_array( $page_obj->ID, $page ) )
return true;
elseif ( in_array( $page_obj->post_title, $page ) )
return true;
else if ( in_array( $page_obj->post_name, $page ) )
return true;
return false;
}Je ne suis pas sûr qu’elle s’applique dans ton cas car il y a des posts dans ta page…
25 mai 2009 à 9 h 03 min #673647Donc les marqueurs http://codex.wordpress.org/Conditional_Tags sont utilisables avant une boucle mais pas après? 😕
Comment faire pour qu’une portion de code du footer.php ne soit visible que sur ma page d’ID 100?
Un moderateur du forum wordpress.org:
Conditional tags like is_home should work anywhere. If they’re not, then maybe there is some other reason that they are not being run.
donc c’est bien que mon code dé début de loop est en cause, reste à savoir quoi…
25 mai 2009 à 16 h 37 min #673648les marqueurs sont settés après que la query soit effectuée.
25 mai 2009 à 16 h 39 min #673649settés?
25 mai 2009 à 16 h 50 min #673650Olivier wrote:les marqueurs sont settés après que la query soit effectuée.Ouais bon en francais ca donnerait:
« Les marqueurs sont assignes apres que la requete soit efectuee »Mais bon moi aussi a force de coder… 🙂
25 mai 2009 à 17 h 04 min #673651lol 🙂
laisse tomber, déformation pro, j’arrive plus à parler français comme il faut 🙂
25 mai 2009 à 21 h 39 min #673652problème réglé avec
après ma loop
🙂26 mai 2009 à 8 h 28 min #673653oui bonne idée en effet 🙂
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.