Affichage d’articles récents en double sur la page d’accueil (Créer un compte)

  • WordPress :5.5
  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 25)
  • Auteur
    Messages
  • #2358733
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonjour,

    Ma configuration WP actuelle : 5.5.1.

    Version de PHP/MySQL : PHP 7.4/MySQL 5.7
    Thème utilisé : Thème enfant Magever
    Extensions en place :

    Akismet Anti-Spam
    Classic Editor
    Coming Soon Page
    Contact Form 7
    Cookie Notice
    iThemes Security
    Jetpack par WordPress.com
    Loco Translate
    MailPoet 3
    MailPoet 3 Premium
    Post Expirator
    reCaptcha by BestWebSoft
    Recent Posts Widget With Thumbnails
    Sassy Social Share
    UpdraftPlus – Sauvegarde/Restauration
    WP-Optimize – Clean, Compress, Cache
    WPS Cleaner
    Yoast SEO

    Nom de l’hébergeur : 1&1 IONOS
    Adresse du site : http://www.vito-lentini.com

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

    Mon thème (thème enfant Magever) affiche sur la page d’accueil les articles dans un ordre chronologique, dans la colonne centrale et à la verticale, du plus récent au plus ancien, 10 articles par page. En bas, dans l’encadré nommé “Vous avez peut-être manqué…” s’affichent les mêmes articles, mais d’un nombre de 4. Du coup cela fait coup double sur la page d’accueil. Je cherche donc un moyen pour que je puisse afficher ce que je veux à la place des 4 derniers articles de cet encadré, les articles d’une catégorie particulières par exemple. A moins que quelqu’un est une autre idée je suis preneur.

    A noter que si on clique sur une page pour lire une publication par exemple, l’encadré “Vous avez peut-être manqué…” affichent les derniers articles de la catégorie “Paroles d’en Haut” qui publie chaque jour un petit article.

    Merci d’avance pour votre aide.

    Cordialement,

    Vito

    #2358738
    mathieu42
    Participant
    Chevalier WordPress
    134 contributions

    vous parlez d’un thème “Magever” mais quand je regarde le site actuellement, c’est le thème “Newsever”.

    vous êtes en train de travailler sur une nouvelle version qui n’est pas encore en ligne ?

    #2358743
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    J’ai trouvé comment modifier la boucle de l’encadré “vous avez peut-être manqué” et donc, à partir de là, on peut faire pas mal de choses.  Ne montrer qu’une catégorie (sauf la 21) ou que certains articles, par ordre chronologique, au hasard , de la dernière semaine /mois…etc.  Il faut simplement être prêt à mettre un peu les mains “dans le cambouis”.


    @mathieu42

    vous parlez d’un thème “Magever” mais quand je regarde le site actuellement, c’est le thème “Newsever”.

    Cela m’a aussi surpris au début mais c’est bien “Magever” qui est utilisé. C’est un thème enfant de “Newsever” d’où le nom sur le site.

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par ferman.
    #2358747
    Flobogo
    Modérateur
    Maître WordPress
    16413 contributions

    Bonjour,


    @mathieu42
    : le thème Magever est fourni en tant que thème-enfant de Newsever.


    @vito
    : j’ai essayé de désactiver cette partie “Vous avez peut-être manqué”, mais rien à faire, je ne trouve pas comment faire. Je vous suggère de définir une page fixe comme page d’accueil, au lieu d’afficher la liste des derniers articles en milieu de page.

    Vous avez 3 catégories définies en haut (extraits de livres / enseignements / actualités), + ce bandeau des 4 derniers articles “Vous avez manqué”, c’est bien suffisant et je ne vois pas trop l’intérêt d’avoir encore tous les articles en milieu de page d’accueil.

    #2358769
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    Pour supprimer la partie “Vous avez peut-être manqué” on peut  copier le fichier “block-post-latest” dans les dossiers du thème enfant en respectant son chemin: créer un dossier inc -> y placer un sous-dossier  hooks ->contenant un sous-dossier blocks dans lequel on met le fichier “block-post-latest” du thème parent (voir pj). Dans ce fichier, on efface ensuite tout le contenu sauf l’entête.

    Si on veut modifier la partie “Vous avez peut-être manqué”  et non la supprimer (changer ce titre, le nombre d’articles ou toute autre modification), on fait la même chose mais en modifiant le contenu de “block-post-latest” (par ex. en modifiant la boucle) selon ce que l’on souhaite au lieu de le supprimer.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2358777
    ferman
    Participant
    Maître WordPress
    3217 contributions

    …et pour supprimer on peut aussi simplement masquer avec des CSS:

    .af-container-block-wrapper.pad-20{display:none;}

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par ferman.
    #2358963
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonsoir à tous,

    Wouah ! Je vois que vous avez bien travaillé tous. merci pour votre intérêt à aider les autres, j’en suis très heureux.

    @mathieu42, je vois que Ferman vous a répondu.

    @flobogo, il y a quatre catégories. Puisqu’il y a un encadré je peux en profiter pour afficher par exemple les “Paroles d’en Haut”. Bien entendu, si ça fait trop pagaille je le supprimerai.

    @ferman, merci. Je vois que vous avez une solution que je vais tenter de mettre en application dès que j’aurais un moment. Je vous tiens au courant quand je l’aurais fait. Un grand merci.

    Merci à tous.

    Cordialement,

    Vito

     

    #2359018
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    Comme précisé plus haut, vous pourrez si vous voulez afficher une catégorie dans le bandeau d’en bas sauf la 21 (les paroles). Sauf si vous n’utilisez pas la méthode qui fonctionne actuellement pour limiter le nombre de paroles d’en haut.

    #2359080
    Flobogo
    Modérateur
    Maître WordPress
    16413 contributions

    @ferman :

    Pour supprimer la partie “Vous avez peut-être manqué” on peut copier le fichier “block-post-latest” dans les dossiers du thème enfant

    J’ai passé une bonne partie de mon dimanche après-midi à travailler sur le fichier … block-post-related … 🙄 en me demandant pourquoi mes modifications n’aboutissaient pas 😭 … c’est malin 🤪

    Bon, au moins, j’ai l’explication grâce à toi, cette fois 😉

    pour supprimer on peut aussi simplement masquer avec des CSS:

    On peut, mais c’est dommage de charger quelque chose pour ne pas l’afficher : cela ralentit (un peu) le site inutilement.
    Mais c’est une méthode rapide.

     


    @vito
    :

    En fait, quand on se plonge dans le code, on peut modifier plein de choses et affiner vraiment l’affichage des publications. Mais cela prend (un peu) de temps. A vous de voir ce qui vous conviendra le mieux, selon le temps dont vous disposez. Vous avez maintenant toutes les cartes en main.

    #2359195
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonsoir @ferman, @mathieu42 et @flobogo,

    Merci pour votre aide qui m’est précieuse. Je réfléchi à vos suggestions et je me demande s’il ne serait pas préférable que je fasse apparaître dans cet encadré nommé “Vous avez peut-être manqué…” la catégorie “Paroles d’en Haut”.

    Je n’ai que 4 catégories. 3 apparaissent en haut de la page d’accueil. Puis, vient tout de suite en dessous une colonne où se trouve tous les articles récents excepté les “Paroles d’en Haut” où seul l’article le plus récent s’affiche pour éviter de cacher les autres articles. Il reste donc tous les articles de la catégorie “Paroles d’en Haut” qui peuvent être affiché dans cet encadré nommé “Vous avez peut-être manqué…”

    Ma question est donc la suivante : Que dois-je mettre dans ce fichier nommé “block-post-latest.php” si je veux faire apparaître seulement la catégorie “Paroles d’en Haut” ? Sachant que ce fichier contient le code suivant :

    <?php
        /**
         * List block part for displaying latest posts in footer.php
         *
         * @package Newsever
         */
        
        $newsever_latest_posts_title = newsever_get_option('frontpage_latest_posts_section_title');
        $newsever_latest_posts_subtitle = newsever_get_option('frontpage_latest_posts_section_subtitle');
        $number_of_posts = newsever_get_option('number_of_frontpage_latest_posts');
        
        $all_posts = newsever_get_posts($number_of_posts);
    
    
    ?>
    <div class="af-main-banner-latest-posts grid-layout">
        <div class="container-wrapper">
        <div class="af-container-block-wrapper pad-20">
                <div class="widget-title-section">
                    <?php if (!empty($newsever_latest_posts_title)): ?>
                        <h4 class="widget-title header-after1">
                                <span class="header-after">
                                    <?php echo esc_html($newsever_latest_posts_title); ?>
                                </span>
                        </h4>
                    <?php endif; ?>
    
                </div>
                <div class="af-container-row clearfix">
                    <?php
                        if ($all_posts->have_posts()) :
                            while ($all_posts->have_posts()) : $all_posts->the_post();
                                global $post;
                                $url = newsever_get_freatured_image_url($post->ID, 'newsever-medium');
                                
                                ?>
                                <div class="col-4 pad float-l" data-mh="you-may-have-missed">
                                    <div class="read-single color-pad">
                                        <div class="data-bg read-img pos-rel read-bg-img"
                                             data-background="<?php echo esc_url($url); ?>">
                                            <img src="<?php echo esc_url($url); ?>">
                                            <div class="min-read-post-format">
                                                <?php echo newsever_post_format($post->ID); ?>
                                                <span class="min-read-item">
                                    <?php newsever_count_content_words($post->ID); ?>
                                </span>
                                            </div>
                                            <a href="<?php the_permalink(); ?>"></a>
                                        </div>
                                        <div class="read-details color-tp-pad">
    
                                            <div class="read-categories">
                                                <?php newsever_post_categories(); ?>
                                            </div>
                                            <div class="read-title">
                                                <h4>
                                                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                                                </h4>
                                            </div>
                                            <div class="entry-meta">
                                                <?php newsever_post_item_meta(); ?>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            <?php
                            endwhile; ?>
                        <?php
                        endif;
                        wp_reset_postdata();
                    ?>
                </div>
        </div>
        </div>
    </div>

    Là encore j’ai besoin de vous.

    Merci d’avance et merci pour ce que vous avez déjà fait 🙂

    #2359211
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    Comme je vous l’ai dit  (deux fois), pour ce qui me concerne, mais je me trompe peut-être car je ne suis pas développeur,  il n’est justement pas possible de faire ce que vous voulez avec la catégorie 21 (les paroles). Ceci parce qu’on a modifié la boucle principale de façon à ce qu’elle ne montre que le dernier article de la cat 21 et on ne peut pas revenir là dessus sur la page (‘home’). On le peut,  par contre, sur une autre page comme on le voit sur votre site (onglet paroles d’en haut). Donc pour cette catégorie on ne peut pas utiliser la méthode “new wp_query”. Il y aurait sans doute une possibilité  en utilisant la méthode wpdb (donc avant que wp_query n’ait été modifié) mais ça devient lourd . Ou alors il faudrait changer d’approche et  je n’ai pas  envie de tout recommencer.  @Flobogo ou @mathieu42 qui est développeur  trouveront sans doute une solution. Bon courage.

    #2359229
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonjour Ferman, bonjour à tous,

    Ok, compris. Désolé, je ne me souvenais pas de cette impossibilité. Au cas où il n’y aurait pas d’issue je supprimerai l’encadré avec du CSS comme stipulé.

    Merci.

    Cordialement,

    Vito

    #2359230
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Juste pour savoir ce qu’il me faudrait mettre dans ce fichier : Si je choisi de faire apparaitre la catégorie “Actualités Chrétiennes”, dont l’ID est le chiffre 3, que dois-je mettre comme code dans le fichier “block-post-latest.php” ?

    Merci d’avance 🙂

     

    #2359237
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    Si vous voulez mettre une autre catégorie il suffit de modifier quelques lignes dans le code d’origine. J’ai mis la catégorie 21 pour que vous voyiez ce que ça fait: un seul article en bas. Autrement, vous pouvez  modifier le titre de la section (voir en haut du code, ligne 8) ainsi que la catégorie, le nombre d’articles en bas, la façon dont ils sont affichés (voir les deux lignes 35, 36 de  /*commentaires */  dans le code). Le code est testé et à moins que je n’aie fait une erreur en le recopiant, il doit fonctionner.

    <?php
        /**
         * List block part for displaying latest posts in footer.php
         *
         * @package Newsever
         */
        
        $newsever_latest_posts_title = LE TITRE QUE VOUS VOULEZ
        $newsever_latest_posts_subtitle = newsever_get_option('frontpage_latest_posts_section_subtitle');
        
        
         
    
    if(is_home()){
    ?>
    
    
    <div class="af-main-banner-latest-posts grid-layout">
        <div class="container-wrapper">
        <div class="af-container-block-wrapper pad-20">
                <div class="widget-title-section">
                    <?php if (!empty($newsever_latest_posts_title)): ?>
                        <h4 class="widget-title header-after1">
                                <span class="header-after">
                                    <?php echo esc_html($newsever_latest_posts_title); ?>
                                </span>
                        </h4>
                    <?php endif; ?>
    
                </div>
                <div class="af-container-row clearfix">
                    <?php
                         
    				$all_posts = new WP_Query( array( 'cat' =>21 , 'posts_per_page' =>2, 'orderby'=> 'rand'  ) );
    				/*ICI:changez: 21 selon la catégorie choisie, 2 selon le nombre d'articles désirés en bas,
    				enlevez 'orderby'=>'rand' (affichage aléatoire) pour avoir un affichage par date croissante)*/
    				if ($all_posts->have_posts()) :
                            while ($all_posts->have_posts()) : $all_posts->the_post();
                                global $post;
                                $url = newsever_get_freatured_image_url($post->ID, 'newsever-medium');
                                
                                ?>
                                <div class="col-4 pad float-l" data-mh="you-may-have-missed">
                                    <div class="read-single color-pad">
                                        <div class="data-bg read-img pos-rel read-bg-img"
                                             data-background="<?php echo esc_url($url); ?>">
                                            <img src="<?php echo esc_url($url); ?>">
                                            <div class="min-read-post-format">
                                                <?php echo newsever_post_format($post->ID); ?>
                                                <span class="min-read-item">
                                    <?php newsever_count_content_words($post->ID); ?>
                                </span>
                                            </div>
                                            <a href="<?php the_permalink(); ?>"></a>
                                        </div>
                                        <div class="read-details color-tp-pad">
    
                                            <div class="read-categories">
                                                <?php newsever_post_categories(); ?>
                                            </div>
                                            <div class="read-title">
                                                <h4>
                                                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                                                </h4>
                                            </div>
                                            <div class="entry-meta">
                                                <?php newsever_post_item_meta(); ?>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            <?php
                            endwhile; ?>
                        <?php
                        endif;
                        wp_reset_postdata();
    }?>
                </div>
        </div>
        </div>
    </div>

    • Cette réponse a été modifiée le il y a 1 semaine et 2 jours par ferman.
    • Cette réponse a été modifiée le il y a 1 semaine et 2 jours par ferman.
    #2359265
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Je pense qu’il serait mieux d’afficher au hasard (‘orderby’=>’rand’) quelques articles d’une de vos catégories, par exemple “enseignements” autrement vous aurez toujours les x derniers articles de la catégorie et rien d’autre. Dans l’autre cas, le visiteur fréquent du site verra à chaque visite des articles différents.

    • Cette réponse a été modifiée le il y a 1 semaine et 2 jours par ferman.
    • Cette réponse a été modifiée le il y a 1 semaine et 2 jours par ferman.
    • Cette réponse a été modifiée le il y a 1 semaine et 2 jours par ferman.
15 sujets de 1 à 15 (sur un total de 25)
  • Vous devez être connecté pour répondre à ce sujet.