boucle WP_Query avec pagination ajax voir plus

Home » Snippets » boucle WP_Query avec pagination ajax voir plus
0

Created with:

Visibility: 

public

Creator: Frossard

Customize with WPTurbo AI
X

Add Snippet To Project

New Project
Add To Existing Project
					<?php

// Fonction pour récupérer les articles avec pagination ajax
function wpturbo_get_posts_ajax() {
    $paged = $_POST['paged']; // Récupérer le numéro de page depuis la requête ajax
    
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 5,
        'paged' => $paged
    );
    
    $query = new WP_Query($args);
    
    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            
            // Afficher le contenu de chaque article
            echo '<h2>' . get_the_title() . '</h2>';
            echo '<div>' . get_the_content() . '</div>';
        }
        
        // Réinitialiser les données de la requête
        wp_reset_postdata();
    }
    
    // Arrêter l'exécution du script
    wp_die();
}

// Ajouter l'action pour les requêtes ajax
add_action('wp_ajax_wpturbo_get_posts', 'wpturbo_get_posts_ajax');
add_action('wp_ajax_nopriv_wpturbo_get_posts', 'wpturbo_get_posts_ajax');
				

Maintenant, vous devez ajouter le code JavaScript pour gérer la pagination ajax. Vous pouvez le placer dans le fichier 'wp-plugin.js' :

Ce code utilise jQuery pour détecter le défilement de la fenêtre et charger les articles supplémentaires lorsque l'utilisateur atteint la fin de la liste. Assurez-vous d'avoir inclus la bibliothèque jQuery dans votre thème ou votre plugin.

N'oubliez pas d'ajouter le code suivant à votre fichier 'wp-plugin.php' pour inclure le fichier JavaScript :

Cela enregistrera et chargera automatiquement le fichier JavaScript 'wp-plugin.js' dans votre page.

Assurez-vous également d'avoir un conteneur avec la classe "posts-container" dans votre fichier de modèle pour afficher les articles :

N'oubliez pas de personnaliser le code en fonction de vos besoins, comme le type de publication et le nombre d'articles à afficher par page.

Register an account to save your snippets or go Pro to get more features.