按分类术语筛选WordPress自定义帖子类型

按分类术语筛选WordPress自定义帖子类型,wordpress,filtering,custom-post-type,taxonomy,Wordpress,Filtering,Custom Post Type,Taxonomy,我已经为此挣扎了几天了,我似乎还没有找到解决办法。我一直在搜索论坛和教程网站,但结果更加混乱,因为似乎有很多方法和变化来实现我所寻找的 我想做的是创建一个自定义的Post类型存档,它可以根据url字符串按分类术语进行筛选 \u域/产品/\u \u领域/产品/分类术语/\ucode> \u领域/产品/分类术语/产品-1 因此,分类术语将仅显示该类型的自定义帖子 我已经做到了这一点。这似乎适用于域/产品/分类法\u术语/产品\u 1,但不适用于任何存档模板 // define custom

我已经为此挣扎了几天了,我似乎还没有找到解决办法。我一直在搜索论坛和教程网站,但结果更加混乱,因为似乎有很多方法和变化来实现我所寻找的

我想做的是创建一个自定义的Post类型存档,它可以根据url字符串按分类术语进行筛选

\u域/产品/\u

\u领域/产品/分类术语/\ucode>

\u领域/产品/分类术语/产品-1

因此,分类术语将仅显示该类型的自定义帖子

我已经做到了这一点。这似乎适用于域/产品/分类法\u术语/产品\u 1,但不适用于任何存档模板

    // define custom post types
    add_action( 'init', 'create_products' );
    function create_products() {

        register_post_type( 'products',
            array(
                'labels' => array(
                    'name' => __( 'Products' ),
                    'singular_name' => __( 'Product' )
                ),
            'public' => true,
            'has_archive' => true,
            'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'revisions' ),
            'rewrite' => array('slug' => 'products/%product_cat%', 'with_front' => true ),
            'hierarchical' => true,
            'query_var' => true,
            'show_in_nav_menus' => true,
            'menu_position' => 5
            )
        );      
    }

    add_action( 'init', 'create_my_taxonomies', 0 );
    function create_my_taxonomies() {
    register_taxonomy(
        'product_cat',
        'products',
        array(
            'labels' => array(
                'name' => 'Product Categories',
                'add_new_item' => 'Add New Product',
                'new_item_name' => "New Product Category"
            ),
            'show_ui' => true,
            'show_tagcloud' => false,
            'hierarchical' => true,
            'rewrite' =>  array( 'slug' => 'products', 'with_front' => true ),
            'query_var' => true,
        )
    );
}

function filter_post_type_link($link, $post)
{
    if ($post->post_type != 'product_listing')
        return $link;

    if ($cats = get_the_terms($post->ID, 'product_cat'))
        $link = str_replace('%product_cat%', array_pop($cats)->slug, $link);
    return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);

对我来说,这是命名上的冲突。我有一个与分类法同名的post类型。这引起了一场冲突

register_post_type( 'some_name' );
register_taxonomy( 'some_name' );
将分类法重命名为独特的名称

register_taxonomy( 'some_tax_name' );

你有什么进展吗?有同样的问题吗?我有确切的问题。你曾经解决过这个问题吗?也许这会有所帮助:我已经阅读了SO和WP.SE上关于“自定义帖子类型和分类法归档”主题的每一篇文章,我是说每一篇文章,并且尝试了每一个解决方案的每一个小变化。几乎所有人都说如果你用
'has_archive'=>'post_-type_-slug'
'rewrite'=>数组('slug'=>'post_-type_-slug/%tax_-slug%')
设置帖子类型,然后用
'rewrite'=>数组('slug'=>'post_-type_-slug')
设置分类法,并包括那一点
帖子类型链接
过滤器,它应该会起作用
../post\u type\u slug/tax\u term
抛出一个404。我有一个taxonomy-tax_slug.php文件。我想你现在应该已经读过了,但是,