• Resolved salgua

    (@salgua)


    Hi

    I’m relative new to WP. I’m using Custom Post Type UI to manage my custom post types. I created a CPT “product” and I checked the “Built-in Taxonomies -> categories”. I created some products and relative categories. I also set the option “Has Archive” to true. Following this documentation page in my theme folder I created a archive-product.php page with a single main loop like this:

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
      ....

    but wordpress load always the archive page instead of this.
    Any idea?

    https://wordpress.org/plugins/custom-post-type-ui/

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Contributor Michael Beckwith

    (@tw2113)

    The BenchPresser

    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.

    Plugin Contributor Michael Beckwith

    (@tw2113)

    The BenchPresser

    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?

    Plugin Contributor Michael Beckwith

    (@tw2113)

    The BenchPresser

    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

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘archive-custom_type.php doesn't work’ is closed to new replies.