I'm trying to grab all posts which are 'posts' and not in category '3' and '5' and which aren't 'pages'. Is this possible to do using one single get_posts()? Because I'm querying both actual posts and pages at the same time...

1 Answer 1


The get_posts() function only returns one post type at a time. So if you query for 'post_type' => 'post', by default you won't get any Pages returned.

This should work:

$wpse53292_posts = get_posts( array(
    'post_type' => 'post',
    'exclude'   => array( 3, 5 )
) );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.