Afficher les 3 derniers articles d’une catégorie (Créer un compte)

  • WordPress :5.4
  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #2347872
    bmael
    Participant
    Initié WordPress
    28 contributions

    Bonjour,
    Ma configuration WP actuelle :

    • – Version de WordPress : 5.4.2
    • – Version de PHP/MySQL : 7.3.18 / 5.6.48
    • – Thème utilisé : Stylish Child
    • – Thème URI : http://themeforest.net/user/holobest
    • – Extensions en place : Advanced CF7 DB (1.7.2), Attach Files Widget (2.4), CF7 Google Sheet Connector (4.2), CF7 Smart Grid Design Extension (3.3.2), Classic Editor (1.5), Contact Form 7 (5.1.9), Custom Sidebars (3.2.3), Drag and Drop Multiple File Upload – Contact Form 7 (1.3.5.1), Duplicate Post (3.2.4), File Media Renamer (1.1), Float Menu Lite (3.3.1), Forum_wordpress_fr (4.2), Google Analytics for WordPress by MonsterInsights (7.10.4), Heartbeat Control by WP Rocket (2.0), iThemes Security (7.7.1), Lingotek Translation (1.4.7), Menu Icons (0.12.2), Menu Icons: Icomoon (0.3.0), Polylang (2.7.4), Popup Maker (1.11.0), Post Thumbnail Editor (2.4.8), Post Views Counter (1.3.2), Really Simple SSL (3.3.4), Recent Posts Widget With Thumbnails (6.7.0), Redirection (4.8), Slider Revolution (5.4.7.2), Social Media Feather (2.0.0), Stylish custom meta boxes (1.2.0), Stylish Custom Post Types (1.1.0), Stylish Shortcodes (1.2.4), Tabs Responsive (2.0.3), Temporary Login Without Password (1.6.3), TinyMCE Advanced (5.4.0), UpdraftPlus – Backup/Restore (1.16.25), WordPress Importer (0.7), WordPress Shortcodes (1.6.36), WP-Optimize – Clean, Compress, Cache (3.1.2), WPide (2.4.0), Yoast SEO (14.4.1)
    • – Adresse du site : https://www.campus-redon-industries.com
    • – Nom de l’hébergeur : Apache (OVH)

    Problème(s) rencontré(s) : Affiche les 3 derniers articles de TOUTES les catégories et pas seulement de la catégorie “actualité”

    Notre site à été réalisé par une agence il y a quelques années sur la base du thème Stylish v1.2.3 mais la page d’accueil est écrite en PHP/HTML.

    Sur la page d’accueil je voudrais que s’affichent les 3 derniers articles de la catégorie “actualité” or actuellement on a les 3 derniers articles toutes catégories confondues.

    Voici le code qui affiche les articles :

    <!-- #### Actualités #### -->
    <div class="page-element  bloc-hachure">	
    	<div class="container">	
    	<h4>Actualités</h4>
    	<?php echo stylish_latest_posts_shortcode(); //Actualité du campus ?>
    	</div>
    </div>

     

    Quelqu’un pourrait-il m’aider à réaliser ce que je souhaite ?

    Merci d’avance

    • Ce sujet a été modifié le il y a 1 année et 2 mois par bmael.
    #2347877
    bmael
    Participant
    Initié WordPress
    28 contributions

    Pour info j’ai étudié le pluin Stylish Shortcode qui contient ceci :

    function stylish_latest_posts_shortcode() {
    
        $posts = '';
        $icon = '';
        $index = 1;
    
        $args = array(
            'post_type' => 'post',
            'posts_per_page' => 3
        );
    
        global $post;
    
        $new_posts = new WP_Query($args);
    	
        while ($new_posts->have_posts()) {
    
            $new_posts->the_post();
    
            $blog_image = wp_get_attachment_image(get_post_thumbnail_id($post->ID), 'post-thumbnail');
            $blog_image_url = wp_get_attachment_url(get_post_thumbnail_id($post->ID), 'post-thumbnail');
    
            $category = get_the_category();
    
            $commentsNumber = get_comment_count($post->ID);
    
            $post_format = get_post_format($post->ID);
    
            switch($post_format) {
                case 'gallery':
                    $icon = '<i class="icon-picture post-title-icon"></i>';
                    break;
                case 'video':
                    $icon = '<i class="icon-film post-title-icon"></i>';
                    break;
                default:
                    $icon = '<i class="icon-pencil post-title-icon"></i>';
            }
    
            $latestPost = $index ===  1 ? '' : ' latest-post';
    
            $posts .= '<div class="span6' . $latestPost .  '">
                <div class="post">
                    <div class="row">
                        <div class="span3 latest-post-media">
                            <div class="thumbnail post-media">
                                ' . $blog_image . '
    
                                <div class="service-box-back">
                                    <a href="' . get_permalink($post->ID) . '"></a>
                                </div>
                            </div>
                        </div>
    
                        <div class="span3 latest-post-content">
                            <div class="post-content">
                                <div class="post-title">
                                    <h3>' . $icon . '<a href="' . get_permalink($post->ID) . '">' . get_the_title() . '</a></h3>
                                    <i class="icon-calendar"></i> ' . get_the_date('M d, Y') . '
                                        
                                </div>
    
    
                                <div style="clear: both"></div>
    
                                <div class="post-excerpt">
                                    <p>
                                        ' . get_the_excerpt() . '
                                    </p>
                                </div>
    
                                <div class="stylish-button">
                                    <a href="' . get_permalink($post->ID) . '">EN SAVOIR PLUS</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>';
    
            $index++;
        }
    
        $returnContent = '
            <div class="latest-posts">
    
                <div class="posts">
                    <div class="row">
    
                        ' . $posts . '
    
                    </div>
                </div>
            </div>';
    
        return $returnContent;
    
    }

    Je ne sais pas si ça peut vous aiguiller.

    Je n’ai rien de ce genre dans mon tableau de bord.

    #2348395
    bmael
    Participant
    Initié WordPress
    28 contributions

    Hello 🙂

    Personne ne peux m’aider ?

    Au secours, je me sens seul…

    #2348427
    ferman
    Participant
    Maître WordPress
    4447 contributions

    Bonjour,

    Je n’ai pas vraiment accès au forum ces jours-ci et ne pourrai donc entrer dans une discussion, mais comme ça fait longtemps que vous attendez, j’essaye.  Dans le code de votre plugin, essayez de remplacer le code entre les lignes 7 et 10 par le suivant:

    $args = array(
            'post_type' => 'post',
     'cat' => 5, //remplacez par l'id de votre catégorie
            'posts_per_page' => 3
        );

    Il faudra refaire la modification à chaque mise à jour du plugin.

    Regardez ICI aussi pour la ref. (1ere page).

    • Cette réponse a été modifiée le il y a 1 année et 2 mois par ferman.
    #2348476
    bmael
    Participant
    Initié WordPress
    28 contributions

    Super ! Merci beaucoup.

    J’avais essayé des choses comme ça. Je n’étais pas loin.

    Top merci d’avoir pris le temps de me lire et de me répondre 🙂

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