挂钩以更改自定义标记分类链接?

时间:2013-04-28 作者:JasonDavis

我有一个Custom Post Type 已命名News 有这样的URL结构。。。

domain.com/news/news-post-name

我还为我的新闻帖子类型添加了一个自定义标记分类法。

这是我的重写设置。。。

$news_posts_tag_args = array(
        \'rewrite\' => array(
                \'slug\'                       => \'news-tag\',
                \'with_front\'                 => false,
                \'hierarchical\'               => true,
        )
);
这使得mtNews Tag 有这样的URL。。。

domain.com/news-tag/news-TAG-name

然而,我希望我的it看起来tag 在我的News Post Type

所以它会变成这样。。。

domain.com/news/tag/news-TAG-name

我可以通过使用下面的重写代码来实现这一点。。。

function custom_taxonomies_rewrite(){
    add_rewrite_rule(\'^news/tag/([^/]*)/?\',\'index.php?news_tag=$matches[1]\',\'top\');
}
add_action(\'init\',\'custom_taxonomies_rewrite\');
到目前为止,一切都很好,但我必须确保编辑任何链接到News Tag Taxonomy 以确保该分类法使用我的新自定义URL结构。

所以我希望有人能帮助我完成下一步的工作,帮助我连接标签链接,这样我就可以更容易地更改链接了?

1 个回复
SO网友:JasonDavis

如果将来还有其他人在寻找这个,我得出的结果就是这个。。。

/* Filter Custom Taxonomy Tag HTML Links */
function custom_term_link_url($content) {
    $current_path = \'news-tag\';
    $new_path = \'news/tag\';
    $content = str_replace($current_path, $new_path, $content);
    return $content;
}
add_filter(\'term_link\', \'custom_term_link_url\');
它将在分类法链接上运行代码。我仍然需要添加功能才能使用1个以上的自定义分类法,但这是一个很好的开始,适用于1

结束