WordPress - 自定义分类法 - 没有存档


Wordpress - custom taxonomy - no archive

本质上,我已经在一个主题上构建了我的网站,该主题有很多缺失的代码,用于应该存在的功能。除此之外,我已经设法解决了所有问题。

该网站具有投资组合帖子类型。基本上正在创建类别,可以将帖子分配给这些类别。将创建一个帖子,但类别的存档页面返回"找不到页面"。

我的函数.php部分如下:

  /**  taxonomy.
--------------------------------------------------------------------------------------------------- */
function create_portfolio_taxonomy()
{
    register_taxonomy(
        'portfolio-category',
        'portfolio',
        array(
            'labels'            => array(
                'name'              => _x('Categories', 'portfolio', 'awe'),
                'singular_name'     => _x('Category', 'portfolio', 'awe'),
                'menu_name'         => __('Categories', 'awe'),
                'all_items'         => __('All Categories', 'awe'),
                'edit_item'         => __('Edit Category', 'awe'),
                'view_item'         => __('View Category', 'awe'),
                'update_item'       => __('Update Category', 'awe'),
                'add_new_item'      => __('Add New Category', 'awe'),
                'new_item_name'     => __('New Category Name', 'awe'),
                'parent_item'       => __('Parent Category', 'awe'),
                'parent_item_colon' => __('Parent Category:', 'awe'),
                'search_items'      => __('Search Categories', 'awe'),
            ),
            'show_admin_column' => true,
            'hierarchical'      => true,
            'rewrite'           => array(
                'slug' => 'category',
            ),
        )
    );
}
add_action('init', 'create_portfolio_taxonomy', 0);
add_action('init', 'custom_taxonomy_flush_rewrite');
function custom_taxonomy_flush_rewrite() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

/*------------------------------------------------------------------------------------------------------------------*/
/*  custom post type 
/*------------------------------------------------------------------------------------------------------------------*/ 
add_action( 'init', 'create_portfolio_post_type' );
function create_portfolio_post_type() {
  register_post_type( 'portfolio',
    array(
      'labels' => array(
        'name' => __( 'Portfolio' ),
        'singular_name' => __( 'Portfolio' )
      ),
      'menu_icon' => 'dashicons-portfolio',
      'hierarchical' => 'true',
      'public' => true,
      'has_archive' => true,
    )
  );
}

如您所见,我可以在主页上按投资组合部分的类别进行排序 - willd.co.uk/#clients

帖子页面 - http://willd.co.uk/portfolio/victoria-front-of-house/类别页面不起作用 - http://willd.co.uk/category/eggs/

从我收集的信息来看,Wordpress会通过潜在模板的层次结构,然后进行存档.php

我是 php 的新手,所以实际上只是使用教程和逻辑来让一切正常。

我已经冲洗了永久链接。

我在想也许我需要创建和编辑一个投资组合存档.php或分类.php文件,而不是让它落入存档.php尽管看过教程和其他堆栈溢出答案后,我无法解决这个问题。

非常感谢任何帮助,

W

最好使用数组来排列它,您可以注意到很多事情,将 slug 更改为投资组合类别,我认为它现在可以工作了。

add_action( 'init', 'create_portfolio_taxonomies', 0 );
    function create_portfolio_taxonomies(){
            $labels = array(
                    'name'              => _x('Categories', 'portfolio', 'awe'),
                    'singular_name'     => _x('Category', 'portfolio', 'awe'),
                    'menu_name'         => __('Categories', 'awe'),
                    'all_items'         => __('All Categories', 'awe'),
                    'edit_item'         => __('Edit Category', 'awe'),
                    'view_item'         => __('View Category', 'awe'),
                    'update_item'       => __('Update Category', 'awe'),
                    'add_new_item'      => __('Add New Category', 'awe'),
                    'new_item_name'     => __('New Category Name', 'awe'),
                    'parent_item'       => __('Parent Category', 'awe'),
                    'parent_item_colon' => __('Parent Category:', 'awe'),
                    'search_items'      => __('Search Categories', 'awe'),
                );
               $args = array('hierarchical'      => true,
                             'labels'            => $labels,
                             'show_ui'           => true,
                             'show_admin_column' => true,
                             'query_var'         => true,
                             'rewrite'           => array(
                                                       'slug' => 'portfolio-category',
                                                    );
                         );
        register_taxonomy( 'portfolio-category', array( 'portfolio' ), $args );
    }

您可以查看的另一个资源是 zilla-portfolio 另一个是序列滑块,这些插件很好地使用了它。