Question

avec selon la pagination avec boucle personnalisée . J'utilise la boucle personnalisée pour le jeu flash d'affichage. Pour faire une pagination sur la page avec les messages d'une catégorie (mondomaine / catégorie / categoryName) J'utilisé:

add_action( 'pre_get_posts', 'wpse5477_pre_get_posts' );
function wpse5477_pre_get_posts( &$wp_query )
{
    if ( $wp_query->is_category() ) {
        $wp_query->set( 'post_type', 'game' );
        $wp_query->set( 'posts_per_page', 9 );
    }
}

J'ai la section sur la page principale de mon site, où affiché trois matchs de chaque catégorie. Mais selon avec le code ci-dessus, je ne peux pas afficher seulement 3 jeux, même si je dans le tableau déterminer ( « post_per_page », 3) ou lissée comme ça, parce que ce nombre ont déjà été déterminer dans $ wp-requête. comment pourrais-je tuer deux oiseaux avec une pierre? Merci.

Était-ce utile?

La solution

Vous pouvez vérifier l'existence d'une variable, de sorte que vous ne remplacez pas:

add_action( 'pre_get_posts', 'wpse7262_pre_get_posts' );
function wpse7262_pre_get_posts( &$wp_query )
{
    if ( $wp_query->is_category() ) {
        if ( ! array_key_exists( 'post_type', $wp_query->query_vars ) ) {
            $wp_query->set( 'post_type', 'game' );
        }
        if ( ! array_key_exists( 'posts_per_page', $wp_query->query_vars ) ) {
            $wp_query->set( 'posts_per_page', 9 );
        }
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top