2016-11-28 165 views
0

我想在我的网站上添加一个包含照片的部分。照片应该在分类法和custom_post_types的帮助下分组。链接应该像 WordPress的分类和术语模板(404)

我在functions.php创建分类和custom_post_type这

  • mysite.com/photography =>分类模板
  • mysite.com/photography/underwater =>分类项模板,这里是代码。

    function photos_custom_post_type() { 
    $labels = array(
        'name'    => __('Photos'), 
        'singular_name'  => __('Photo'), 
        'menu_name'   => __('Photos'), 
        'parent_item_colon' => __('Parent Photo'), 
        'all_items'   => __('All Photos'), 
        'view_item'   => __('View Photo'), 
        'add_new_item'  => __('Add New Photo'), 
        'add_new'    => __('Add New'), 
        'edit_item'   => __('Edit Photo'), 
        'update_item'   => __('Update Photo'), 
        'search_items'  => __('Search Photo'), 
        'not_found'   => __('Not Found'), 
        'not_found_in_trash' => __('Not found in Trash') 
    ); 
    $args = array(
        'label'    => __('photos'), 
        'description'   => __('Best Photos'), 
        'labels'    => $labels, 
        'supports'   => array('title','thumbnail',), 
        'public'    => true, 
        'hierarchical'  => false, 
        'show_ui'    => true, 
        'show_in_menu'  => true, 
        'show_in_nav_menus' => true, 
        'show_in_admin_bar' => true, 
        'has_archive'   => true, 
        'can_export'   => true, 
        'exclude_from_search' => false, 
        'publicly_queryable' => true, 
        'capability_type'  => 'post', 
        'taxonomies' => array('post_tag') 
    ); 
        register_post_type('photos', $args); 
    } 
    add_action('init', 'photos_custom_post_type', 0); 
    
    // creating Taxonomy for Custom Post Type 
    add_action('init', 'photos_custom_taxonomy', 0); 
    function photos_custom_taxonomy() { 
    
    $labels = array(
    'name' => _x('Photos Category', 'taxonomy general name'), 
    'singular_name' => _x('Photos Category', 'taxonomy singular name'), 
    'search_items' => __('Search Photos Category'), 
    'all_items' => __('All Photos Category'), 
    'parent_item' => __('Parent Photos Category'), 
    'parent_item_colon' => __('Parent Photos Category:'), 
    'edit_item' => __('Edit Photos Category'), 
    'update_item' => __('Update Photos Category'), 
    'add_new_item' => __('Add New Photos Category'), 
    'new_item_name' => __('New Photos Category Name'), 
    'menu_name' => __('Photos Category'), 
    ); 
    
    register_taxonomy('photos_cat',array('photos'), array(
    'hierarchical' => true, 
    'labels' => $labels, 
    'show_ui' => true, 
    'show_admin_column' => true, 
    'rewrite' => array('slug' => 'photography', 'with_front' => false) 
    )); 
    } 
    

    我还创建

    • taxonomy-post_cat-underwater.php =>这部作品
    • taxonomy-post_cat.php =>这并不

    当我去mysite.com/photography/underwater =>一切正常,但是当我去mysite.com/photography =>我得到404错误..

    请帮我理解发生了什么问题。

+0

在wp-config.php中设置WP_DEBUG = true。什么是错误信息? – elicohenator

+0

@elicohenator没有错误,只有404页 – CroaToa

回答

0

,你必须遵循的分类模板规则的WP开发者文档指出:https://developer.wordpress.org/themes/template-files-section/taxonomy-templates/#custom-taxonomy

自定义分类的层次结构如下:

  1. taxonomy- {}分类 - {term} .php:例如,如果分类法被命名为“sometax”,而分类法的术语是“someterm”,则WordPress将查找名为taxonomy-sometax-someterm.php的文件。
  2. taxonomy- {}分类.PHP:例如,如果分类被命名为“sometax,” WordPress的会寻找分类,sometax.php
  3. 命名文件
  4. taxonomy.php
  5. archive.php index.php
+0

我知道。我已经创建了'taxonomy-post_cat-underwater.php'和''taxonomy-post_cat.php。首先是工作,其次不是。 – CroaToa

+0

这是因为高级别文件覆盖第二个文件。更改文件名称,你会看到它的工作。 – elicohenator

相关问题