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

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

    Bonsoir @ferman,

    Merci, c’est une excellente idée : “afficher au hasard (‘orderby’=>’rand’) quelques articles d’une de mes catégories.”

    Et ne peut-on pas faire ça avec toutes les catégories, en affichant au hasard des articles de plusieurs catégories au hasard ?

    Merci 🙂

     

     

    #2359392
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Si, ça c’est possible: une catégorie, deux catégories, toutes les catégories …sauf 21 🙂

    Pour toutes les catégories, Il faut simplement enlever ce morceau de code: ‘cat’ =>21 ,

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

    Bonjour,

    Si, ça c’est possible: une catégorie, deux catégories, toutes les catégories …sauf 21 🙂

    Pour toutes les catégories, Il faut simplement enlever ce morceau de code: ‘cat’ =>21

    Ah oui, super ! Je vais essayer de faire ça comme il faut. Merci Ferman.

    Si j’y arrive sans faire d’erreur je noterai le sujet comme résolu 🙂

     

    #2359591
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonjour,

    Ça ne fonctionne pas, j’ai certainement fait quelque chose incorrectement. Voici le code modifié que j’ai transféré en respectant l’ordre des répertoires soit :

    inc –>
    hooks –>
    blocks –> block-post-latest.php

    Et voici le code du fichier block-post-latest.php :

    <?php
        /**
         * List block part for displaying latest posts in footer.php
         *
         * @package Newsever
         */
        
        $newsever_latest_posts_title = Vous avez peut-être manqué...
        $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( '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>

    Où est-ce qu’il y a une erreur ? 😉 🙂

     

    #2359600
    ferman
    Participant
    Maître WordPress
    3217 contributions

    Bonjour,

    PHP est exigeant et la moindre erreur le vexe. Là il manquait seulement deux ” ‘ ” et un ” ; ” en début de code et ça suffit pour tout faire capoter. Remplacez la ligne 8 par celle-ci:

     $newsever_latest_posts_title = 'Vous avez peut-être manqué...';

    #2359616
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Super ! Merci @ferman, ça fonctionne très bien. Je suis super content.

    Merci aussi à @mathieu42 et @flobogo

    Merci pour votre disponibilité et votre aide, j’en suis très touché.

    Cordialement 🙂

    Vito

    #2360241
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonjour,

    J’ouvre de nouveau le sujet, car je me suis rendu compte que l’encadré “Vous avez peut-être manqué…” ne s’affiche plus que sur la page d’accueil, alors qu’auparavant il s’affichait sur toutes les pages. Il doit y avoir quelque chose qui a été modifié à cause du code ?

    Cordialement,

    Vito

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

    Bonjour,

    Ben, c’est logique : dans votre code donné ci-dessus (14 nov à 16h16), vous avez fait en sorte que le bloc “vous avez peut-être manqué” (fichier block-post-latest.php) ne soit présent que sur la page d’accueil : voir le code en ligne 14

    if(is_home()){

     

    #2360318
    ferman
    Participant
    Maître WordPress
    3217 contributions

    C’est ma très grande faute, je ne sais pas pourquoi j’ai mis cette restriction. Donc, vous devez enlever ce qu’a indiqué Flobogo puis en bas l’accolade } et cela devrait fonctionner sur toutes les pages. Mi scusi.

     

    #2360333
    Vito
    Participant
    Padawan WordPress
    76 contributions

    Bonjour,

    Merci Flogobo, merci Ferman. Super, ça fonctionne bien maintenant. L’erreur est humaine, c’est d’ailleurs avec ce genre d’erreur que je peux apprendre, si peu soit-il.

    J’ai ouvert un nouveau sujet, le dernier je pense avec ce thème, pour augmenter le nombre d’articles, ou plutôt de vignette dans les diaporamas qui est limité à 5. J’ai cherché mais je n’ai pas trouvé où le modifier. Si vous pouviez m’aider le sujet se trouve ici —> Modifier le nombre d’articles des diaporamas

    Merci.

    Cordialement.

    Vito

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