web-dev-qa-db-fra.com

Comment exclure des publications d'un certain format du flux

Je souhaite exclure les publications du format postérieur au flux. J'ai déjà vérifié ici comment exclure les publications d'un certain format de publication de la boucle, mais comment exclure les publications d'un format de publication dans le flux? Impossible de le modifier car je ne suis pas très bon avec le code.

3
navjotjsingh

Si vous souhaitez modifier le flux, vous devez vous connecter à la requête principale que WordPress effectuera à chaque requête de page. Le meilleur crochet ici est pre_get_posts. Cet exemple de code va se connecter à pre_get_posts, vérifier s'il s'agit d'un flux et ajouter la requête de taxonomie de format post

add_action( 'pre_get_posts', 'wpse18412_pre_get_posts' );
function wpse18412_pre_get_posts( &$wp_query )
{
    if ( $wp_query->is_feed() ) {
        $post_format_tax_query = array(
            'taxonomy' => 'post_format',
            'field' => 'slug',
            'terms' => 'post-format-image', // Change this to the format you want to exclude
            'operator' => 'NOT IN'
        );
        $tax_query = $wp_query->get( 'tax_query' );
        if ( is_array( $tax_query ) ) {
            $tax_query = $tax_query + $post_format_tax_query;
        } else {
            $tax_query = array( $post_format_tax_query );
        }
        $wp_query->set( 'tax_query', $tax_query );
    }
}
2
Jan Fabry