- Statut : non résolu
- Ce sujet contient 14 réponses, 2 participants et a été mis à jour pour la dernière fois par
TGM, le il y a 13 années et 9 mois.
-
AuteurMessages
-
26 août 2011 à 10 h 47 min #499035
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 3.1.2
– Version de PHP/MySQL : 5
– Thème utilisé : Toolbox
– Extensions en place : Akismet, Contact Form 7, Get Recent Comments, Subscribers Text Counter, Tabber Tabs Widget, ThemeFuse Maintenance Mode, Ultimate tag cloud widget, WordPress Database Backup, WordPress Popular Posts, WP Featured Content Slider, WP PHP widget
– Nom de l’hebergeur : OVH
– Adresse du site : http://www.ilearnmac.fr/Problème(s) rencontré(s) : Bonjour !
Après moults lectures de différends threads concernant le sujet et ne trouvant aucune réponse me permettant de le corriger seul, je fais appel a vos lumières.
J’ai donc décider dans mon projet de site web d’integrer les custom post types et la taxonomy pour gérer la partie multimedia.
Mon custom post type étant déclaré ainsi que ma taxonomy, les fichiers sont appelés correctement et s’affichent sur ma custom page.
Le soucis, c’est que j’ai l’impression qu’il y a une erreur sur la boucle et qu’elle se duplique sur la page.Un peu de code pour vous expliquer ainsi qu’une copie d’ecran.
<?php
/**
* Template Name: Page tutoriaux
*
* Selectable from a dropdown menu on the edit page screen.
*/
get_header(); ?>
<div id="cat-tuto">
<?php include (ABSPATH . '/wp-content/plugins/wp-featured-content-slider/content-slider.php'); ?>
<h2 class="icon">Filter settings</h2>
<?php $loop = new WP_Query( array( 'post_type' => ‘tutoriaux’, ‘posts_per_page’ => 10 ) ); ?>
<?php if ($loop->have_posts()) : while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php echo get_the_term_list( $type, 'type', '<p> ‘, ‘, ‘, ‘</p>‘ ) ?>
<div id="content-tutoriaux" class="wrapper">
<div id="thumbnails">
<div class="tuto-thumb"><?php the_post_thumbnail(); ?></div>
<div class="tuto-post-content"><h1 class="entry-title-tuto"><a href="<?php the_permalink(); ?> » title= »<?php printf( esc_attr__( 'Permalien de %s', 'toolbox' ), the_title_attribute( 'echo=0' ) ); ?> » rel= »bookmark »><?php the_title(); ?></a></h1><?php endwhile; endif; ?>
</div>
</div>
</div>
Et voici ce qui s’affiche sur ma page
Et ce que donne le code en live, qui j’ai l’impression me donne 2 boucles.
Cela affiche mes deux articles (que je n’ai pas fini de styliser du a mon problème) et je remarque qu’a chaque article il me colle ma taxonomy (
) alors que j’en voudrais seulement une liste pour pouvoir ensuite la filtrer ensuite avec du jquery. Je me demande donc qu’est ce que j’ai pu faire comme bêtise.
Merci a tout ceux qui prendront le temps de me répondre…
26 août 2011 à 10 h 51 min #790050ou se termine ta boucle while, je ne vois pas de endwhile
26 août 2011 à 11 h 25 min #790051Guy wrote:ou se termine ta boucle while, je ne vois pas de endwhileJuste après le « h1 » (Il faut scroller sur la droite pour voir le code)
26 août 2011 à 12 h 11 min #790052ok 🙂 je n’avais pas vu.
IL me semble quand même qu’il est mal placé, tu ouvres des div dans ta boucle, et il n’y a qu’une seule fermeture , il faudrait mettre le endwhile plus bas, de même il me semble qu’il y a une balise fermante de trop (si je n’en ai pas oublié une que je vois pas).
26 août 2011 à 12 h 34 min #790053Guy wrote:ok 🙂 je n’avais pas vu.IL me semble quand même qu’il est mal placé, tu ouvres des div dans ta boucle, et il n’y a qu’une seule fermeture , il faudrait mettre le endwhile plus bas, de même il me semble qu’il y a une balise fermante de trop (si je n’en ai pas oublié une que je vois pas).
Donc tu penses que je devrai ouvrir ma boucle avant les div ? En ce qui concerne le placement du endwhile, j’ai essayé presque tout les endroits possible… et je vais recompter les div oui, pour voir si j’en aurais pas mis une en trop.
Sinon, tu ne vois rien de bizarre ?
26 août 2011 à 12 h 43 min #790054ben si, je te dis, ton endwhile n’est pas bien placé
tu fais
while traitementthumbalil……….
endwhile, endif
le endwhile devrait être ici, et recompte aussi toutes les balises ouvrantes et fermantes
26 août 2011 à 12 h 52 min #790055Guy wrote:ben si, je te dis, ton endwhile n’est pas bien placéJe voulais dire, a part ca 🙂
Guy wrote:Tu fais
while traitementthumbalil……….
endwhile, endif
le endwhile devrait être ici, et recompte aussi toutes les balises ouvrantes et fermantes
Bon je teste ca et je reviens te dire ce qu’il en est… Pour l’histoire de la taxonomy qui ne se met pas en liste, tu as une idée ?
26 août 2011 à 13 h 01 min #790056je ne peux pas savoir, la variable $type contient quoi? où est elle définie? en tout cas pas dans ce source.
26 août 2011 à 13 h 04 min #790057J’ai bien changé le code comme suis
‘tutoriaux’, ‘posts_per_page’ => 10 ) );
if ($loop->have_posts()) : while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div id="cat-tuto">
<h2 class="icon">Filter settings</h2>
<div id="content-tutoriaux" class="wrapper">
<div id="thumbnails">
<div class="tuto-thumb"></div>
<div class="tuto-post-content"><h1 class="entry-title-tuto"><a href=" » title= » » rel= »bookmark »></a></h1>
</div>
</div>
J’ai enlevé un balise fermante qui était en trop, et le resultat est le meme (cache vidé)…
26 août 2011 à 13 h 09 min #790058Guy wrote:je ne peux pas savoir, la variable $type contient quoi? où est elle définie? en tout cas pas dans ce source.J’ai changé et j’ai mis ca, que j’ai codé après avoir lu le codex…
Sinon au départ, la variable contient en fait ma taxonomy, qui est déclarée comme « type », d’ou le nom de variable.
Elle est définie au niveau de fonctions.php dont voici le code.// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
‘name’ => ( ‘Type’ ),
‘singular_name’ => ( ‘Type’ ),
‘search_items’ => ( ‘Recherche de Type’ ),
‘popular_items’ => ( ‘Populaires’ ),
‘all_items’ => ( ‘Tous’ ),
‘parent_item’ => null,
‘parent_item_colon’ => null,
‘edit_item’ => ( ‘Editer’ ),
‘update_item’ => ( ‘Mise a jour’ ),
‘add_new_item’ => ( ‘Ajouter’ ),
‘new_item_name’ => ( ‘Nouveau’ ),
‘separate_items_with_commas’ => ( ‘Separer par des virgules’ ),
‘add_or_remove_items’ => ( ‘Ajouter ou supprimer un type’ ),
‘choose_from_most_used’ => ( ‘Choisir parmi les plus utilisés’ ),
‘menu_name’ => ( ‘Type’ ),
);
register_taxonomy(‘type’,array(‘tutoriaux’),array(
‘hierarchical’ => true,
‘labels’ => $labels,
‘show_ui’ => true,
‘update_count_callback’ => ‘_update_post_term_count’,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘type’ ),
));26 août 2011 à 13 h 20 min #790059non, ça ne doit pas être pareil, tu ne dois plus avoir l’imbrication des balises div.
Pour la liste des taxonomies, je ne sais pas bien ce que tu veux, mais si tu veux afficher la liste des taxonomies du post faut faire
echo get_the_term_list( $loop->post->ID, ‘type’, ‘
‘, ‘, ‘, ‘
‘ ) quelque chose de ce style
26 août 2011 à 13 h 34 min #790060Guy wrote:non, ça ne doit pas être pareil, tu ne dois plus avoir l’imbrication des balises div.J’ai pourtant le second article qui est imbriqué dans le premier, comme si une div n’était pas a la bonne place.
Guy wrote:Pour la liste des taxonomies, je ne sais pas bien ce que tu veux, mais si tu veux afficher la liste des taxonomies du post faut faireecho get_the_term_list( $loop->post->ID, ‘type’, ‘
‘, ‘, ‘, ‘
‘ ) quelque chose de ce style
Ce que je voudrais en fait, c’est avoir une liste de ma taxonomy avec mes termes, mais générale, pas par post. Si tu regarde bien le term est collé avec l’article. Or j’aimerais quelque chose dans ce genre :
Loop
<div id="cat-tuto">
Carousel
<h2 class="filter"><h2>
<p>Ma liste de term</p> que je pourrais ensuite filtrer via jquery
<div class="content">
mes articles (en ligne par 4)
</div>
endwhile,ifUn peu comme la en fait : http://tobiasahlin.com/
26 août 2011 à 15 h 20 min #790061ce n’est pas par get_terms?
$terms = get_terms(‘type’);
foreach ($terms as $term)
{
echo $term->name; // avec le formatage que tu veux :)
}
}26 août 2011 à 16 h 43 min #790062Guy wrote:ce n’est pas par get_terms?$terms = get_terms(‘type’);
foreach ($terms as $term)
{
echo $term->name; // avec le formatage que tu veux :)
}
}J’avais testé au départ, mais j’obtenais une erreur parce que je mettais $t dans le foreach ! Et la ca fonctionne !!! Merci !
Donc pour les avoir ensuite sous forme de lien, je dois juste ajouter get_the_term_link ?
Edit: J’ai ajouté le get_term_link, et j’ai donc ma liste qui s’affiche ! Enfin on avance 🙂
Reste plus qu’a regler le soucis de la boucle de custom post type !
15 septembre 2011 à 14 h 42 min #790063Bon, j’ai finalement résolu le souci en réécrivant tout from scratch, ca fonctionne impec !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.