The only things I can think of are issues with the post type slugs not matching between what’s registered and the file name, or visiting the wrong url archives.
I can’t confirm any of that at the moment though because of no link to visit.
Thread Starter
salgua
(@salgua)
Thank you for your fast answer. I didn’t insert any link because I’m working on a local site. As you suggested I think that the problem is that I’m visiting the wrong url. In fact I want to filter my product custom post by category, but clicking on a category link the url is http://mysite/category/mycategory that’s the standard post category url. I don’t have any category.php file and wordpress use the archive.php as fallback. My question is: how can I use standard categories to filter custom posts? I tried also using WP_Query in a category.php page, in this way:
$args = array(
'post_type' => 'product'
);
$the_query = new WP_Query( $args );
and
<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
but the returned loop is always empty.
you’d need to use $the_query->have_posts() in the if statement, for that part.
If you explain more about the filtering needs, I can potentially offer a solution.
Thread Starter
salgua
(@salgua)
I have a simple sidebar with the list of products categories, when I click on the category link I want to view only the products of this category, in the same way that it works for default posts. If I use $the_query->the_post() in the if statement it fetch all product posts without filter the current category
Thread Starter
salgua
(@salgua)
Hi Michael, I found
this
What do you think? Maybe is better to use custom taxonomies?
The thread that you linked to is related to listings in the admin area, not the frontend, in case you were trying to copy/paste it directly.
Are you familiar with $_GET parameters? An idea to couple with your new WP_Query would be to use the sidebar to set the category slug or so and add it to the url:
http://www.domain.com/?mycat=meow
http://www.domain.com/?mycat=arf
You could then grab that value and put it into the query arguments right before the query is made.
you’ll need to be careful with what you use in place of mycat because these can accidentally alter the original query for the whole page.
Hopefully that gives you an idea of how to proceed.
You should use the template hierarchy
the template file will be called
taxonomy-posttype.php
or in my case
taxonomy-portfolio.php