Wordpress - 自定义分类 - 无存档

时间:2016-04-25 14:03:03

标签: php wordpress wordpress-theming taxonomy custom-taxonomy

基本上我已经在一个主题上构建了我的网站,该主题有很多代码丢失,应该存在的功能。除了这个,我已经设法解决了所有问题。

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

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

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

从我收集的内容中,Wordpress会通过潜在模板的层次结构进行归档,然后进入archive.php

我是php的新手,所以我只是使用教程和逻辑来使一切正常运行。

我已经刷新了永久链接。

我想也许我需要创建和编辑portfolio-archive.php或taxonomy.php文件,而不是让它落到archive.php,虽然看了教程和其他stackoverflow答案我还没能解决这个问题。

非常感谢您的帮助,

w ^

1 个答案:

答案 0 :(得分:0)

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

add_action( 'init', 'create_portfolio_taxonomies', 0 );

    function create_portfolio_taxonomies(){
            $labels = 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'),
                );

               $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 另一个是序列滑块这些插件使用得很好。