最近,我一直在从事一个高级WordPress项目,我一直在为自定义帖子类型更改永久链接结构。
我已经创建了3种帖子类型,比如说:type1、type2、type3,以及为所有这些类型注册的分类法测试。我在自定义分类法中有3个术语,分别是cat1、cat2、cat3
以下是我想要实现的目标:
而不是通过cat访问所有帖子
站点URL/测试/cat1
我想通过分类法访问每个帖子类型的存档,如:
siteurl/type1/cat1
最近,我一直在从事一个高级WordPress项目,我一直在为自定义帖子类型更改永久链接结构。
我已经创建了3种帖子类型,比如说:type1、type2、type3,以及为所有这些类型注册的分类法测试。我在自定义分类法中有3个术语,分别是cat1、cat2、cat3
以下是我想要实现的目标:
而不是通过cat访问所有帖子
站点URL/测试/cat1
我想通过分类法访问每个帖子类型的存档,如:
siteurl/type1/cat1
以下是我的一个项目中的部分代码,用于为permalinks设置类似的结构(post类型和分类法存档的基段代码相同),请注意post类型和分类法的“has\\u archive”和“rewrite”参数的值:
add_action( \'init\', \'register_my_post_types\' );
function register_my_post_types() {
register_post_type( \'movie\',
array(
....
\'has_archive\' => \'movies\',
\'rewrite\' => array(
\'slug\' => \'movies/%mv_category%\',
\'with_front\' => false
),
\'taxonomies\' => array(
\'mv_category\',
),
)
);
register_taxonomy(
\'mv_category\',
array(
\'movie\'
),
array(
...
\'hierarchical\' => true,
\'rewrite\' => array(
\'slug\' => \'movies\',
\'with_front\' => false,
\'hierarchical\' => false
)
)
);
) // end of create_my_post_types function
add_filter(\'post_type_link\', \'filter_post_type_link\', 10, 2);
function filter_post_type_link($link, $post)
{
if ($post->post_type != \'movie\')
return $link;
if ($cats = get_the_terms($post->ID, \'mv_category\'))
$link = str_replace(\'%mv_category%\', array_pop($cats)->slug, $link);
return $link;
}
然后,您可以使用以下url访问电影帖子类型的“纪录片”类别:site.com/movies/documentary/
“纪录片”类别的“电影A”将是:site.com/movies/documentary/movie-a/
注意:在post类型之后注册分类很重要,因为顺序permalink重写规则是在WordPress中生成的。如果没有更具体的术语来帮助我理解您实际想要组织什么,我不确定我是否走上了正确的轨道,但是这个插件是否可以帮助您完成您想要做的事情?http://wordpress.org/extend/plugins/cpt-onomies/
它有点将自定义类型的帖子标题和分类法合并在一个奇怪的(可能有用?)方法
我把这个贴在stackoverflow上,他们说我可以在这里试试-我的网站上安装了wordpress。在那个网站的一个子文件夹下,我安装了oscommerce系统作为在线商务商店。我在wordpress上激活了permalinks,但现在每次我试图联系商店管理部门时,我都会得到wordpress中找不到的页面。如果我禁用永久链接,我可以再次访问,你能帮我吗?谢谢你,丹尼