Support » Fixing WordPress » WP Query

  • Hi,

    Having trouble with wp_query ‘category__and’. Cant get it to work.
    This is my code:

    $args = array( 'post_type' => 'product', 'posts_per_page' => 10, 'category__and' => array( 20, 61, 74, 28 ), 'orderby' => 'date' );
    $loop = new WP_Query( $args );
    
    while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
          // Info comes here.
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>

    Any idea what i’m doing wrong?
    Tanks.

Viewing 15 replies - 1 through 15 (of 18 total)
  • Moderator keesiemeijer

    (@keesiemeijer)

    It doesnt return any posts? Do you have posts that have all the categories assigned to it?

    Fatal error: Class ‘WP_Query’ not found on line 2

    I have a post that is assigned to all categories. I have tried it with one or two categories but it gave no result.

    What can i get the posts without an error?
    The query works when i remove:’category__and’ => array( 20, 61, 74, 28 ), but i need to get the posts that ar assigned to different categories. It’s an online shop with a search module… You can select a color, a size, …

    esmi

    (@esmi)

    Forum Moderator

    @sharky1989: It is extremely impolite to interrupt another poster’s ongoing thread with a question of your own. It causes significant problems for the forum’s volunteers and prevents us from being able to track issues by topic. Please post your own topic.

    But this is my own post?

    Moderator keesiemeijer

    (@keesiemeijer)

    I think she meant sharky1989.

    Does ‘category__in’ work?
    Do you have any other loops in the theme template file.

    Can you post the full code of the template file – See theForum Rules on how to post a large excerpt of code.

    esmi

    (@esmi)

    Forum Moderator

    Sorry! My bad! 🙁

    You can find the full code at this link:
    http://pastebin.com/CKeGZisF

    @keesiemeijer
    i have tried ‘category__in’, that does not work either.

    Moderator keesiemeijer

    (@keesiemeijer)

    Maybe the posts are fetched but the shortcode doesn’t work properly. try changing this:

    $loop->post->ID

    to this:

    $post->ID

    That also does not work.
    The code is fine i think becaus when i change the query to:

    $args = array( 'post_type' => 'product', 'posts_per_page' => 10, 'orderby' => 'date' );

    I left out the ‘categorie_and’ and it works. So i think it is the query that is not wright? But i can’t seem to figure out what is wrong.

    Moderator keesiemeijer

    (@keesiemeijer)

    Very strange.
    Can you paste this inside your loop to see if post titles are showing up.

    <?php the_title( '<h3>', '</h3>' ); ?>

    that doesn’t change a thing. I can’t see the titles.

    Print_r from the loop:
    http://pastebin.com/9Huj0kme

    Maybe this will help?

    Moderator keesiemeijer

    (@keesiemeijer)

    I’m not sure why this isn’t working if you have a post with all categories assigned. Try it with a tax query:

    $args = array(
    	'post_type' => 'product',
    	'posts_per_page' => 10,
    	'orderby' => 'date',
    	'tax_query' => array(
    		array(
    			'taxonomy' => 'category',
    			'field' => 'id',
    			'terms' => array( 20, 61, 74, 28 ),
    			'operator' => 'AND'
    		)
    	)
    );
    $loop = new WP_Query( $args );

    http://codex.wordpress.org/Function_Reference/WP_Query#Taxonomy_Parameters

    Moderator keesiemeijer

    (@keesiemeijer)

    Maybe this will help?

    Yes it does. The query doesn’t include your category query by looking at the ‘request’ and no posts were found.

    I think a plugin or theme is filtering the query. What plugin are you using for the product posts?

Viewing 15 replies - 1 through 15 (of 18 total)
  • The topic ‘WP Query’ is closed to new replies.