问题描述

我有一个自定义的帖子类型,称为’job’,我在主题中有以下模板:

  • single-job.php(工作正常,按预期显示单个作业)

  • archives-job.php(无法识别?)

  • archives-current.php(也未被识别)

  • archives.php(无法识别?)

  • index.php(档案页面使用此页面)

这是我如何在 functions.php 中注册我的自定义内容类型:

add_action( 'init', 'create_jobs' );
function create_jobs() {
  $labels = array(
    'name' => _x('Jobs', 'post type general name'),
    'singular_name' => _x('Job', 'post type singular name'),
    'add_new' => _x('Add New', 'Job'),
    'add_new_item' => __('Add New Job'),
    'edit_item' => __('Edit Job'),
    'new_item' => __('New Job'),
    'view_item' => __('View Job'),
    'search_items' => __('Search Jobs'),
    'not_found' =>  __('No Jobs found'),
    'not_found_in_trash' => __('No Jobs found in Trash'),
    'parent_item_colon' => ''
  );

  $supports = array('title', 'editor', 'custom-fields', 'revisions', 'excerpt');

  register_post_type( 'Job',
    array(
      'labels' => $labels,
      'public' => true,
      'has_archive' => 'current',
      'supports' => $supports
    )
  );
}

当我转到 http://mywebsite/wordpress/current/的 URL 时,它将按预期的方式显示所有的作业,但是它不使用任何一个归档模板,而是使用 index.php 。

我对 wordpress 文档的理解是,它会寻找档案 – (专门的邮件类型名称的档案).php,然后是档案 – (post 类型).php,然后是 archives.php,然后是 index.php … 但它只是直接到 index.php?

我没有访问固定链接设置页面,点击保存来刷新所有内容,所以我没有得到 404’s, it’s 只是不输出到正确的模板… 我的名字不正确吗?当我创建我的自定义帖子类型时,是否有注册设置?

最佳解决思路

尝试'has_archive' => 'true'; 并进行固定链接重置测试前!它应该是单数 archive-job.php 而不是 archives-job.php

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。