根据分类术语更改自定义帖子类型的固定链接

时间:2014-03-11 作者:danbrown

我有一个自定义的帖子类型“profile”。每个配置文件可以是且只能是学生、员工或校友中的一个,这是通过“profile\\u type”自定义分类法设置的。这给了我永久的印象:

www.mysite.com/profile/arthur-mcmillan. 
我想要的是:

www.mysite.com/student/arthur-mcmillan
实际上,我已经使用以下技术使其工作,但它会打断我的所有其他页面和帖子,返回一个未找到的页面。

在注册表配置文件中自定义帖子类型:

\'rewrite\' => array(\'slug\' => \'%profile_types%\', \'with_front\' => false)
我用这个函数过滤它:

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

    if ($cats = get_the_terms($post->ID, \'profile_types\')){
        $link = str_replace(\'%profile_types%\', array_pop($cats)->slug, $link); 
    }

    return $link;
}
add_filter(\'post_type_link\', \'filter_post_type_link\', 10, 2);
这样做是可行的,但会破坏其他普通页面和帖子。有没有人知道修复帖子和页面的方法,或者有没有更好的方法来更改永久链接?

谢谢

1 个回复
SO网友:Preetom Banerjee

Use Category base and Tag base Permalink
类别库和标记库是URL中用于类别和标记存档的前缀,如下所示:

example.net/wp/category_base/category_name
 example.net/wp/tag_base/tag_name
默认值为“类别”和“标记”。您可以更改它们,但不能完全从URL中删除它们。

自定义permalinks在大多数系统上都可以正常工作,但仍然存在一些出现问题的情况。

将%category%与帖子上的多个类别一起使用将多个类别分配给帖子时,永久链接中只能显示一个类别。类别按字母顺序排列。在每组子类别中,顺序也将按字母顺序排列。(请参见管理类别)。这篇文章仍然可以通过所有类别正常访问

例如www.mysite。com/学生/亚瑟·麦克米兰。转到设置并将永久链接更改为自定义结构
2。使用/%category%/%postname%/
3。添加类别名称作为学生
您可以轻松更改类别名称并更新类别,只需转到“发布”>“类别”选择以前的类别编辑其名称并更新即可。

这就是全部。

结束

相关推荐

Advanced permalinks structure

我想得到这个:mysite.com/category/tag/ 示例:mysite.com/news/sports/ 新闻是一个类别,体育是一个标签我该怎么做?谢谢