Wordpress - 自定义分类法 - 无存档

Wordpress - custom taxonomy - no archive

基本上,我的网站建立在一个主题上,该主题缺少很多代码,而这些代码应该存在。我已经设法解决了除此之外的所有问题。

该站点有一个投资组合 post 类型。本质上正在创建类别,并且可以将 posts 分配给这些类别。 post 已创建,但是类别 returns 'Page not found'.

的存档页面

我的 functions.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

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

据我所知,Wordpress 遍历潜在模板的层次结构,然后进入 archive.php

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

我已经刷新了永久链接。

我在想也许我需要创建和编辑一个投资组合-archive.php 或 taxonomy.php 文件而不是让它落入 archive.php 尽管已经看过教程和其他Whosebug 的回答我没能解决这个问题。

非常感谢您的帮助,

W

最好使用数组来安排它,您会注意到很多事情,将 slug 更改为 portfolio-category,我认为它现在可以正常工作了。

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 另一个是 sequence slider 这些插件使用得很好。