Comment obtenir l'ID de publication actuel d'un type de publication personnalisé dans une boucle à l'aide du modèle singel- {type personnalisé} .php?
-
-
Parce que vous utilisezget_permalink ()en dehors de laboucle,vous devrezpeut-êtrepasser l'identifiant depublication.Sinon,il retournefalseet plustard,lorsque vousparcourez laboucle,il vous donne automatiquementintrouvable!Because you are using get_permalink() outside the loop you might have to pass the post id. Else it returns false and later when you run through the loop it automatically gives you not found!
- 0
- 2013-11-22
- sri
-
Expliquer également laprincipale raisonpour laquelle vousfaites cela devrait vous apporterplus de réponseset demeilleurespeuvent l'être.Also explaining the bigger cause for why you are doing this should get you more answers and better ones may be.
- 0
- 2013-11-22
- sri
-
1 réponses
- votes
-
- 2013-11-22
Vous avez donc deuxboucles: laboucleprincipaleet la seconde utilisant
$query
.Vous voulez comparer si,à unmoment donné de votre deuxièmeboucle,il y a une correspondanceentre l'article actuel (à l'intérieur de laboucle)et l'articletraité dans laboucle
$query
.Ai-je raison?
Au lieu de vérifier lespermaliens,je proposerais de vérifier lesidentifiants.
Donc,lors de lapremièreboucle,vous créez une variable avec l'ID depublication actuel:
$current_post_id = $post->ID;
et dans votre deuxièmeboucle,vous comparez simplement:
if($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); if( $current_post_id === $post->ID ) { echo $post->ID; } else { echo "not found"; } endwhile; wp_reset_postdata(); endif;
Vousn'êtespas sûr que ce soit ce que vous recherchez,faites-lenous savoir.
PS:je devrais ajouterpour utiliser unnomplus spécifiquepour votre requête,justepour éviter la collision denoms avec unplugin ou quoi que ce soit,comme
$my_prefix_query
So you have two loops : the main loop and the second one using
$query
.You want to compare if at some point of your second loop there's a match between current post (inside the loop) and the processed post inside the
$query
loop.Am I right ?
Instead of checking permalinks I would propose to check IDs.
So on the first loop you create a variable with the current post id :
$current_post_id = $post->ID;
and in your second loop you just compare :
if($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); if( $current_post_id === $post->ID ) { echo $post->ID; } else { echo "not found"; } endwhile; wp_reset_postdata(); endif;
Not sure that is what you're looking for, let us know.
PS: I should add to use a more specific name for your query, just to avoid name collision from a plugin or anything, like
$my_prefix_query
-
Vous avez raison,je cherchais lamême chose.Auparavant,je ne saispas utiliser laboucle depublicationpar défaut.Jepensais qu'il récupéreratous lesmessages.mais quandj'essaye,j'avais su qu'ilirait chercher lepost actuel.J'ai donc utilisé `get_the_id ()`et assigné une variable,puis utilisée dans laboucle de requête.Merci @SimonYou are right i was looking for the same. Previously i don't know to use the default have post loop. I thought it will fetch all post. but when i try i had known it will fetch current post. So i used `get_the_id()` and assigned a variable, then used in the query loop. Thanks @Simon
- 0
- 2013-11-23
- sun
J'ai unmodèle detype d'articlepersonnalisé dans lequelje parcourttous les articles. ce quej'essaie,c'est que lorsqueje vais surmapage depublicationpersonnalisée,je veux obtenir l'identifiant actuel dumessage dans laboucle.
Voici le code quej'aiessayé
Essayez d'abord defaireentrer lepermalien à l'extérieurpour le vérifier à l'intérieur de laboucle
Maintenant,j'ai le lienpermanent dumessage actuel,je veuxmaintenant obtenir l'identifiant actuel dumessage
J'aiessayé ces choses dans
single-{custom-post-name}.php
je reçoisnot found
. quelqu'unpeut-ilme donner unmoyen d'obtenir l'identifiant actuel dumessage dans cemodèle?