自定义帖子类型URL重定向错误

时间:2010-09-08 05:58:37

标签: php wordpress custom-post-type

我有一些Wordpress CPT。他们正确的URL应该是/ wordpress / training / training-page /,这就是我在管理页面中看到的URL,但当我点击链接时,我最终得到的URL是/ wordpress / blog / 2010/05/21 /培训页/.

我停用了我的插件但没有成功。有谁知道如何保持正确的URL完整无缺?

这是我的代码:

<?php
add_action( 'init', 'tv_content_posttype' );
function tv_content_posttype() {
register_taxonomy('content', 
    'training',
    array(
        'hierarchical' => true,
        'label' => 'Content Index',
        'query_var' =>  true, 
        'rewrite' => true
    )
);

register_post_type( 'training',
    array(
        'type' => 'page',
        'labels' => array(
            'name' => __( 'TV Training' ),
            'singular_name' => __( 'TV Training' )
        ),
        'public' => true,
        'rewrite' => array(
            'with_front' => false,
            'slug' => 'training',
        ),
        'hierarchical' => true,
        'query_var' => true,
        'taxonomies' => array( 'content' ),
    )
);
}

1 个答案:

答案 0 :(得分:1)

只是一些观察:'type'没有register_post_type()参数这样的东西,所以你可以摆脱那条线。其次,'with_front' => false告诉WordPress网址结构应为/training/training-page//wordpress/在这个意义上是你要告诉它的“前线”部分。此外,您不需要为post_type添加“分类法”,但在注册分类法之前,您需要注册帖子类型。所以试试这个:

<?php
add_action( 'init', 'tv_content_posttype' );
function tv_content_posttype() {
register_post_type( 'training',
    array(
        'labels' => array(
            'name' => __( 'TV Training' ),
            'singular_name' => __( 'TV Training' )
        ),
        'public' => true,
        'rewrite' => array(
            'with_front' => true,
            'slug' => 'training',
        ),
        'hierarchical' => true,
        'query_var' => true,
    )
);

register_taxonomy('content', 
    'training',
    array(
        'hierarchical' => true,
        'label' => 'Content Index',
        'query_var' =>  true, 
        'rewrite' => true
    )
);

}