来自POST类型的固定链接中的自定义分类

时间:2012-08-20 作者:lars

我正在为该帖子类型使用自定义帖子类型和自定义分类法。此代码段当前为post类型设置永久链接:

\'rewrite\' => array(\'slug\' => \'myrewritebase\'),
我以这种方式注册taxonmy:

register_taxonomy(
        \'my_taxonomy\',
        \'my_post_type\',
我必须为自定义帖子类型设置哪些重写?

我这样试过:

\'rewrite\' => array(\'slug\' => \'%my_taxonomy%\'),
这不起作用。

非常感谢您的帮助!

1 个回复
SO网友:Bainternet

将分类法slug设置为taxonomy_name 在你的帖子类型中,将slug设置为taxonomy_name/%taxonomy_name_term% 刷新重写规则(只需转到管理中的permalink设置面板),然后WordPress就可以处理/taxonomy_name/%taxonomy_name_term%/post-name/ URL。

所以剩下要做的就是告诉WordPress什么%taxonomy_name_term% 为此,只需将此函数添加到主题的函数中。php文件:

add_filter(\'post_type_link\', \'events_permalink_structure\', 10, 4);
function events_permalink_structure($post_link, $post, $leavename, $sample)
{
    if ( false !== strpos( $post_link, \'%taxonomy_name_term%\' ) ) {
        $event_type_term = get_the_terms( $post->ID, \'TAXONOMY_NAME\' );
        $post_link = str_replace( \'%taxonomy_name_term%\', array_pop( $event_type_term )->slug, $post_link );
    }
    return $post_link;
}
确保更换TAXONOMY_NAME 使用分类法的实际名称。

结束

相关推荐