2012-03-31 55 views
0

我創建了一個帖子,然後它說我已經發布,但是當我點擊網址時我找不到一個頁面!爲什麼我在WordPress中的自定義帖子不顯示?

這裏是我的自定義後設置代碼:

add_action('init', 'offered_register'); 
function offered_register() { 

$labels = array(
    'name' => _x('Offered items'), 
    'singular_name' => _x('Item'), 
    'add_new' => _x('Give an item away'), 
    'add_new_item' => __('Give a new item away'), 
    'edit_item' => __('Edit item'), 
    'new_item' => __('Give Item Away'), 
    'view_item' => __('View Item'), 
    'search_items' => __('Search Offered Items'), 
    'not_found' => __('Nothing found'), 
    'not_found_in_trash' => __('Nothing found in Trash'), 
    'parent_item_colon' => '' 
); 

$args = array(
    'labels' => $labels, 
    'public' => true, 
    'publicly_queryable' => true, 
    'show_ui' => true, 
    'query_var' => true, 
    'menu_icon' => get_stylesheet_directory_uri() . '/images/article16.png', 
    'rewrite' => true, 
    'capability_type' => 'post', 
    'hierarchical' => false, 
    'menu_position' => null, 
    'supports' => array('title','thumbnail', 'custom-fields','comments') 
); 

register_post_type('offered' , $args); 
} 

回答

4

您的register_post_type()功能看起來不錯。我猜你已經啓用了漂亮的固定鏈接。訪問設置>固定鏈接頁面,然後重試。

然後通過閱讀: Flushing Rewrite Rules on Plugin Activation

的問題是,當一個新的職位類型註冊了,WordPress的用來處理相當固定鏈接重寫規則不會自動獲得重新生成。必須調用flush_rewrite_rules()才能選取新的帖子類型重寫。這兩種方式共同完成:

  1. 如果你在一個插件工作,則添加flush_rewrite_rules()到插件激活鉤子回調(見上面的鏈接)
  2. 請訪問設置>永久鏈接頁面,這就要求flush_rewrite_rules()

什麼你不想做的就是調用flush_rewrite_rules()init回調 - 這是不是你想要的東西呼籲每一個頁面請求。

+1

謝謝,我只是將鏈接類型更改爲默認值,並且工作正常!我會看看同花順的重寫,歡呼。 – Nicola 2012-03-31 12:56:08

+0

在我的插件中只是一個警告flush_rewrite_rules()最終成爲我的問題的一部分。我最終只是手動更新固定鏈接。 – myol 2014-10-20 08:37:23

0

使用add_filter,但不知道它的工作與否。

1

你的答案是:

只要改變永久設置爲默認,並保存它,然後再去爲後name..This會工作。

0

無論何時註冊新的自定義帖子類型,都必須刷新重寫規則。轉到設置 - >永久鏈接,然後點擊保存。

相關問題