web-dev-qa-db-fra.com

Spécifier le nombre de posts dans mon 'tax_query'

Je montre les messages du terme 'football' appartenant à la section 'taxonomie', et tout fonctionne parfaitement, mais où puis-je spécifier le nombre de messages que je souhaite afficher?

juste comme ceci: 'showposts' => 3

Je ne sais pas où le mettre

    $myquery['tax_query'] = array(
                   array(
                        'taxonomy' => 'section',
                        'terms' => array('futbol'),
                        'field' => 'slug',
                    ),
        );
        query_posts($myquery);
1
Sema Hernández

Jamais utilisateur query_posts, en aucune circonstance. Utilisez plutôt WP_Query, qui explique comment query_posts fonctionne en interne, mais sans la ruse et les inconvénients.

Vous constaterez également que la documentation WP_Query vous donne des explications pour chaque paramètre, y compris ce que vous essayez de faire:

posts_per_page (int) - nombre de publications à afficher par page (disponible avec la version 2.1, paramètre showposts remplacé). Utilisez 'posts_per_page'=>-1 pour afficher toutes les publications (le paramètre 'offset' est ignoré avec une valeur -1). Définissez le paramètre 'paginé' si la pagination est désactivée après l'utilisation de ce paramètre. Remarque: si la requête est dans un flux, wordpress remplace ce paramètre par l'option 'posts_per_rss' stockée. Pour réimposer la limite, essayez d’utiliser le filtre 'post_limits' ou filtrez 'pre_option_posts_per_rss' et renvoyez -1.

Y compris un exemple:

Afficher x messages par page

Afficher 3 articles par page:

$query = new WP_Query( 'posts_per_page=3' );

ou comme je le dirais:

$args = array(
    'posts_per_page' => 3
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while( $query->have_posts() ) {
        $query->the_post();
        // display the post
    }
}

Notez que la boucle principale est la même que lors de l'utilisation de query_posts, seulement j'ai ajouté $query-> au début de have_posts et the_post?

Vous pouvez maintenant modifier les paramètres à ajouter à votre requête fiscale

$args = array(
    'posts_per_page' => 3,
    'tax_query' => array(
        ...etc
    )
);

http://codex.wordpress.org/Class_Reference/WP_Query

3
Tom J Nowell

Cela fonctionne, merci Tom :)

        <?php
        $args = array(
            'posts_per_page' => 2,
            'tax_query' => array(
                array(
                    'taxonomy' => 'section',
                    'field' => 'slug',
                    'terms' => array('futbol'),
                         )
                )
            );
        $query = new WP_Query( $args );

       if ( $query->have_posts() ) {
            while( $query->have_posts() ) {
                $query->the_post();

         //The Post

            }
        }
        ?>
0
Sema Hernández

Vous voulez plutôt posts_per_page:

$myquery = array(
    'posts_per_page' => 3,
    'tax_query' => array(
        array(
            'taxonomy' => 'section',
            'terms' => array( 'futbol' ),
            'field' => 'slug',
        ),
    ),
);
0
TheDeadMedic