Soucis d’affichage de custom post type et de taxonomy (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Messages
  • #499035
    TGM
    Membre
    Padawan WordPress
    53 contributions

    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

    screenuz.th.png

    Et ce que donne le code en live, qui j’ai l’impression me donne 2 boucles.

    screen2ez.th.png

    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…

    #790050
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ou se termine ta boucle while, je ne vois pas de endwhile

    #790051
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy wrote:
    ou se termine ta boucle while, je ne vois pas de endwhile

    Juste après le « h1 » (Il faut scroller sur la droite pour voir le code)

    #790052
    Guy
    Participant
    Maître WordPress
    14817 contributions

    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).

    #790053
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy 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 ?

    #790054
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ben si, je te dis, ton endwhile n’est pas bien placé

    tu fais
    while traitement

    thumbalil…

    …….

    endwhile, endif

    le endwhile devrait être ici, et recompte aussi toutes les balises ouvrantes et fermantes

    #790055
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy wrote:
    ben si, je te dis, ton endwhile n’est pas bien placé

    Je voulais dire, a part ca 🙂

    Guy wrote:
    Tu fais
    while traitement

    thumbalil…

    …….

    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 ?

    #790056
    Guy
    Participant
    Maître WordPress
    14817 contributions

    je ne peux pas savoir, la variable $type contient quoi? où est elle définie? en tout cas pas dans ce source.

    #790057
    TGM
    Membre
    Padawan WordPress
    53 contributions

    J’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é)…

    #790058
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy 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’ ),
    ));

    #790059
    Guy
    Participant
    Maître WordPress
    14817 contributions

    non, ç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

    #790060
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy 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 faire

    echo 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,if

    Un peu comme la en fait : http://tobiasahlin.com/

    #790061
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ce n’est pas par get_terms?

    $terms = get_terms(‘type’);
    foreach ($terms as $term)
    {
    echo $term->name; // avec le formatage que tu veux :)
    }
    }

    #790062
    TGM
    Membre
    Padawan WordPress
    53 contributions
    Guy 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 !

    #790063
    TGM
    Membre
    Padawan WordPress
    53 contributions

    Bon, j’ai finalement résolu le souci en réécrivant tout from scratch, ca fonctionne impec !

15 sujets de 1 à 15 (sur un total de 15)
  • Vous devez être connecté pour répondre à ce sujet.