問題描述

我有一個自定義的帖子類型,稱為’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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。