web-dev-qa-db-fra.com

Modifier le nombre de messages par défaut à afficher sur la version mobile

Je souhaite modifier le nombre de publications par défaut pour mon site mobile. Voici la boucle de mon thème

          <?php /* Start the Loop */ ?> 
          <?php while ( have_posts() ) : the_post(); ?>
              <?php get_template_part( 'mobile-content' ); ?>    
            <?php endwhile; ?>

J'ai 25 messages affichés sur la version de bureau définie dans les paramètres wordpress, mais comment puis-je afficher 15 messages par page pour la version mobile?

2
busyjax

Premièrement , vous devez détecter les appareils mobiles, probablement le plus simple et une possibilité intégrée est wp_is_mobile . C’est plus simple que d’autres solutions disponibles, mais fonctionne assez bien. Il peut être modifié, si nécessaire, jetez un oeil à cette question pour un premier aperçu de cela.

Deuxièmement , si cela concerne votre requête principale, comme le suggère votre code, vous pouvez utiliser pre_get_posts pour la modifier.

Ci-dessous un exemple de base sur la façon de les réunir:

Code:

add_action('pre_get_posts','wpse124949_alter_main_query_ppp_mobile');
function wpse124949_alter_main_query_ppp_mobile( $query ){
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }
    if( $query->is_main_query() && wp_is_mobile() ) {
        $query->set('posts_per_page', '15');
    } 
}
2
Nicolai

Vous pouvez utiliser cette fonction dans le fichier functions.php de votre thème enfant ou en tant que plug-in pour afficher 15 messages par page sur les appareils mobiles.

function custom_posts_per_page($query) {
    if (wp_is_mobile()) {
        $query->set('posts_per_page', 15);
    } //endif
} //function

//this adds the function above to the 'pre_get_posts' action     
add_action('pre_get_posts', 'custom_posts_per_page');
0
drabello