Domanda

con il ciclo personalizzato . Io uso il ciclo personalizzato per il gioco esposizione flash. Per il trucco di un'impaginazione sulla pagina con i messaggi da una categoria (mydomain / categoria / categoryName) ho usato:

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 );
    }
}

Ho la sezione sulla pagina principale del mio sito, dove visualizzata gioco a tre di ogni categoria. Ma secondo con codice di cui sopra non riesco a visualizzare solo 3 giochi, anche se a determinare in array ( 'post_per_page', 3) o si dovrebbe occupare in questo modo, perché questo numero sono stati già determinare a $ wp-query. come avrei potuto prendere due piccioni con una fava? Grazie.

È stato utile?

Soluzione

È possibile verificare l'esistenza di una variabile, in modo da non sovrascrivere esso:

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 );
        }
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top