Custom values, Query et nombre de posts (Créer un compte)

  • Statut : non résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #482340
    p4c
    Membre
    Initié WordPress
    32 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.8x
    – Version de PHP/MySQL : 5
    – Thème utilisé : Custom Theme
    – Extensions en place : beaucoup
    – Nom de l’hebergeur : OVH sur RPS II
    – Adresse du site : http://www.kurosawa-cinema.com

    Problème(s) rencontré(s) :

    Bonjour,

    voici ma question qui devrait être simple pour vous.
    J’ai mis en bas de ma page, un encart pour récupérer via les champs personnalisés, les articles qui possèdent un champ « Thumbnail » pour l’afficher sous forme de vignette avec un lien vers l’article dans l’image.

    Je fais celà via le code suivant qui fonctionne bien

    <?php $values = get_post_custom_values("Thumbnail");
    // this checks to see if an image file exists
    if (isset($values[0])) {
    ?>
    <a href="<?php the_permalink() ?> » rel= »bookmark » title= »Lien Permanent vers <?php the_title(); ?>« ><img src="<?php bloginfo('template_url'); ?>/images/Thumb/<?php $values = get_post_custom_values("Thumbnail"); echo $values[0]; ?> » alt= » » /></a>
    <?php } ?>

    Mon seul problème, c’est que je souhaiterais afficher une 20aine de vignettes alors qu’avec ce code, j’en affiche qu’une seule et je souhaiterai également ne pas afficher les articles les plus récents (par exemple, afficher 20 posts sauf les 6 plus récents)

    D’avance merci,

    #726763
    arena
    Participant
    Maître WordPress
    844 contributions

    En bas de ta page, tu n’affiches que le dernier article lu dans ton unique loop (initialisé par WP).

    Je suppose que tu affiches déjà les 6 premiers articles et que tu souhaites que les 20 articles ne reprennent pas les 6 articles affichés.

    Dans ton premier loop, mémorise dans un tableau les ‘id’ des articles

    $post__not_in[] = get_the_ID();

    Ensuite il faut faire un deuxième loop initialisé de la manière suivante :

     $post__not_in));

    while (have_posts()) : the_post();

    if (!$Thumbnails = get_post_custom_values(« Thumbnail »)) continue;
    ?>
    <a href=" » rel= »bookmark » title= »Lien Permanent vers « >
    <img src="/images/Thumb/ » alt= » » />
    </a>

    j’ai changé le nom du tableau $values en $Thumbnails.
    Si tu as plusieurs ‘thumbnails’ pour un article et que tu veux les afficher au hazard, remplacer

    par

    ps : Attention au réglage de lecture de WP qui limite le nombre d’articles affichés. Cela peut être contourné, mais c’est une autre histoire.

    #726764
    p4c
    Membre
    Initié WordPress
    32 contributions

    Hum, ça m’as l’air assez complet. Je vais tester çà dès que je peux.
    Temporairement, j’ai enlever l’encart en bas de page (donc tu n’a vu que les 6 derniers articles), mais le principe que tu m’indique correspond tout de même à ce que je souhaite faire, je vais donc tenter d’utiliser çà ce week-end pour voir ce que ça donne. Merci bien

    #726765
    p4c
    Membre
    Initié WordPress
    32 contributions

    Bonjour Arena,

    Le code fournit marche très bien, par contre, je n’arrive pas à faire usage du code

    $post__not_in[] = get_the_ID();

    Je ne vois pas vraiment où le placer au niveau de mon code.

    Autre question, le code que tu m’a fourni incorpore t-il une limite d’affichage de post ?
    Car j’ai défini une class à un div, je ne souhaiterait pas me retrouver avec 150 articles récupérés d’un coup.

    D’avance merci,

    #726766
    arena
    Participant
    Maître WordPress
    844 contributions

    il faut le mettre dans la 1ière boucle

    while (have_posts()) …. endwhile;

    #726767
    p4c
    Membre
    Initié WordPress
    32 contributions

    edit : le blocage du nombre d’affichage de post à été contourné, je suis à présent libre d’en afficher le nombre souhaité. Me reste donc à gérer cette partie affichage d’article n’étant pas déja affiché en haut.

    Chacun des 8 encarts de la page est géré ainsi :

    <div class="ArticleCinemaHautDroite">

    <div class="clearfloat">
    is_category = false;
    $wp_query->is_archive = false;
    $wp_query->is_home = true;
    ?>
    <h3><a href=" »></a></h3>



    <a href=" » rel= »bookmark » title= »Lien Permanent vers « ><img src="/images/ » alt= » » /></a>

    <a href=" » rel= »bookmark » class= »title »></a>
    <br />
    <div class="ModeResume"></div><div><span class="ReadCritique"><a href=" » rel= »bookmark » title= »Permanent Link to « >Lire la critique</a></span><span class="MakeComments"></span> </div>

    <br />
    <br />

    Un code très moyen, mais le résultat me convient.
    J’ai tenté d’incorporer le bout de code fourni, mais comme j’ai finalement 8 boucle (pour mes 8 articles) je me demande comment agir.

    #726768
    arena
    Participant
    Maître WordPress
    844 contributions

    8 boucles !!

    donc il faut mettre le code

    $post__not_in[] = get_the_ID();

    dans les 8 boucles pour la 9ième affichant les x thumbnails

    #726769
    p4c
    Membre
    Initié WordPress
    32 contributions

    Oui, 8 boucles, c’est une horreur pour un développeur , mais n’étant pas un expert de WordPress ni du php, je n’ai pas encore trouvé de moyen plus simple pour le faire.

    Je vais tenter cela, en tout cas, un grand merci pour l’aide que tu m’a apporté à ce niveau, c’est vraiment très appréciable.

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