0

我有一个以前见过的问题,但没有一个答案能解决我的问题。这是我以前遇到过的问题,但从未设法解决。

我有一个干净的 Wordpress 安装,并且在functions.php文件中我创建了一个自定义帖子类型

register_nav_menu('main', 'Main navigation menu');

function add_custom_post_type() {
    $labels = array(
        'name' => _x('Books', 'post type general name'),
        'singular_name' => _x('Book', 'post type singular name'),
        'add_new' => _x('Add New', 'book'),
        'add_new_item' => __('Add New Book'),
        'edit_item' => __('Edit Book'),
        'new_item' => __('New Book'),
        'all_items' => __('All Books'),
        'view_item' => __('View Book'),
        'search_items' => __('Search Books'),
        'not_found' =>  __('No books found'),
        'not_found_in_trash' => __('No books found in Trash'), 
        'parent_item_colon' => '',
        'menu_name' => __('Books')
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true, 
        'show_in_menu' => true, 
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'has_archive' => true, 
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
    ); 

    register_post_type('book', $args);
}

我已经为这些文件制作了一个模板文件archive-book.phpsingle-book.php一切正常。当我转到“http://localhost/wordpress/book”时,我可以查看书籍现在我想创建一个自定义分类法,所以我也这样做了functions.php

add_action('init', 'add_custom_post_type');

function add_custom_taxonomy() {
    register_taxonomy(
        'rating',
        'book',
        array(
            'label' => 'Rating',
            'hierarchical' => true,
            'show_ui' => true,
            'query_var' => 'book',
            'has_archive' => true,
            'rewrite' => array(
                'slug' => 'book/rating'
            )
        )
    );
}

分类显示在管理页面中,我可以添加新术语,并将它们添加到书籍中。但现在问题来了。我想查看所有书籍的概述,比如说,评分为“nice”,我会转到“http://localhost/wordpress/book/rating/nice”。我创建了以下模板文件:taxonomy-rating-nice.php、taxonomy-rating.php 和 taxonomy.php。

但不知何故,wordpress 只显示了 index.php 文件,并没有列出任何书籍。我试过用以下方法刷新重写规则:

add_action('init', 'custom_taxonomy_flush_rewrite');
function custom_taxonomy_flush_rewrite() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

和:

flush_rewrite_rules(false);

但似乎没什么帮助。

那么,有人可以帮助我吗?如果您需要更多信息,请告诉我,因为我真的很想解决这个问题!

4

1 回答 1

0

首先转到设置>永久链接并选择您的永久链接到普通并保存您的设置。然后转到仪表板并查看您的分类法,然后将您的永久链接设置恢复为帖子名称并保存您的永久链接设置...希望这将解决您的问题...因为您的所有代码和模板现在看起来都很好...希望为你工作

于 2016-04-28T09:32:55.517 回答