自定义帖子类型存档页面不起作用

时间:2016-07-04 作者:Khandaker Ikrama

我正在尝试创建自定义帖子类型。除了归档页面外,所有页面都工作正常。我的自定义帖子类型存档页面是存档课程。php,但它不工作,它显示默认存档。php。我的代码有错吗?

谁能帮帮我吗?

function td_courses() {
    $labels = array(
        \'name\'               => _x( \'Courses\', \'td\' ),
        \'singular_name\'      => _x( \'Courses\', \'td\' ),
        \'add_new\'            => _x( \'Add New\', \'td\' ),
        \'add_new_item\'       => __( \'Add New course\' ),
        \'edit_item\'          => __( \'Edit course\' ),
        \'new_item\'           => __( \'New courses\' ),
        \'all_items\'          => __( \'Courses\' ),
        \'view_item\'          => __( \'View courses\' ),
        \'search_items\'       => __( \'Search courses\' ),
        \'not_found\'          => __( \'No courses found\' ),
        \'not_found_in_trash\' => __( \'No courses found in the Trash\' ),
        \'menu_name\'          => \'Courses\'
    );
    $args = array(
        \'labels\'            => $labels,
        \'public\'            => true,
        \'menu_position\'     => 10,
        \'menu_icon\'             => \'dashicons-welcome-learn-more\',
        \'supports\'          => array( \'title\', \'editor\', \'thumbnail\', \'author\' ),
        \'has_archive\'       => true,
        \'capability_type\' => \'page\',
        \'rewrite\'           => array( \'slug\' => \'course\' ),
    );
    register_post_type( \'courses\', $args );

}
add_action( \'init\', \'td_courses\' );

function td_courses_taxonomies() {
    $labels = array(
        \'name\'              => _x( \'Course Categories\', \'td\' ),
        \'singular_name\'     => _x( \'Course Categories\', \'td\' ),
        \'search_items\'      => __( \'Search Course Categorie\' ),
        \'all_items\'         => __( \'All Course Categories\' ),
        \'parent_item\'       => __( \'Parent Course Categorie\' ),
        \'parent_item_colon\' => __( \'Parent Course Categorie:\' ),
        \'edit_item\'         => __( \'Edit Course Categorie\' ),
        \'update_item\'       => __( \'Update Course Categorie\' ),
        \'add_new_item\'      => __( \'Add New Course Categorie\' ),
        \'new_item_name\'     => __( \'New Course Categorie Name\' ),
        \'menu_name\'         => __( \'Course Categorie\' ),
    );

    $args = array(
        \'hierarchical\'      => true,
        \'labels\'            => $labels,
        \'show_ui\'           => true,
        \'show_admin_column\' => true,
        \'query_var\'         => true,
        \'rewrite\'           => array( \'slug\' => \'courses-list\' ),
    );

    register_taxonomy( \'courses_category\', array( \'courses\' ), $args );

}
add_action( \'init\', \'td_courses_taxonomies\', 0 );
谢谢

2 个回复
SO网友:NateWr

您的帖子类型,courses, 重写了一段course. 因此,您的存档模板将是archive-course.php.

你的分类法,courses_category, 重写了一段course, 因此,您的分类法归档模板将是taxonomy-courses.php.

此已完成template hierarchy 可能很有用。

如果您希望存档页面显示该帖子类型的所有帖子coursesyoursite.com/courses, 您应该为post类型分配一个重写段塞courses. (我认为这是默认设置,因为您的帖子类型是courses.)

分类法存档模板,taxonomy-[slug].php, 将在查看该帖子类型的所有帖子的存档页面时调用courses 分配给特定的分类术语。如果你有一个学期beginner, 还有重写段塞courses 对于分类学术语,您可以在yoursite.com/courses/beginner.

如果将相同的重写段塞分配给post类型和分类法,可能会产生一些冲突。但我不确定。

正如Pieter Goosen所说,无论何时进行这样的更改,都需要刷新重写规则。

SO网友:Felipe Volpato

正如PieterGoosen所说,在创建新的分类法或自定义帖子类型时,需要刷新permalinks。转到“站点设置”->“永久链接”,然后单击“保存按钮”。

这对我起了作用。

相关推荐