Current category link filter

时间:2018-06-28 作者:Badr

在我的主题中,我有一个分类法的归档模板(taxonomy-cat\\u projet.php)。在这个模板中,我有一个分类法链接列表,允许用户选择分类法。下面是我用来列出类别链接的代码:

<ul>
    <?php  $args = array( 
            \'title_li\' => \'\',
            \'taxonomy\' => \'cat_projet\',
            \'hide_empty\' => false,
    );
    wp_list_categories( $args ); ?>
</ul>
是否有一种方法(一旦选择了一个类别)可以更改其链接,以便如果单击它,它会列出所有类别的帖子。例如,第一次单击会使该类别处于活动状态,第二次单击则会变为非活动状态。

我知道我可以用javascript来完成,但我更喜欢用php来完成,比如使用一些“当前分类链接”过滤器(如果存在的话)。

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

内部wp_list_categories() 使用get_term_link() 获取术语的URL。可以使用term_link 筛选,以便您可以筛选指向当前术语的任何链接,并将其替换为指向帖子类型存档的链接:

function wpse_307202_term_link( $termlink, $term, $taxonomy ) {
    if ( is_tax( \'cat_projet\' ) ) {
        if ( get_queried_object_id() === $term->term_id ) {
            $termlink = get_post_type_archive_link( \'post_type_name\' );
        }
    }

    return $termlink;
}
add_filter( \'term_link\', \'wpse_307202_term_link\', 10, 3 );

结束

相关推荐

CPT/Taxonomy/Postname永久链接结构使分页中断

我已经定义了这个permalink结构自定义帖子类型/分类法/帖子名称这一切都像一种魅力,除了分页。当我移到第2页时,它会加载一篇文章,而不是第二页。所以url是:custom post type/taxonomy/page/2但它会更改url并转到:custom post type/other taxonomy/one post/2有谁知道permalink结构和分页吗?希望你能帮助我。更新我定义了这些:组合项目基础:组合投资组合类别基础:投资组合我已经安装了自定义帖子类型Permalinks,并设置了