2014-01-15 57 views
1

我在WordPress的這樣定義的自定義後類型:WordPress的自定義文章類型定製蛞蝓和GET變量

add_action('init', 'register_cima_fellowship'); 

function register_cima_fellowship() { 
    $args = array(
     'labels' => $labels, 
     'public' => true, 
     'menu_position'=>20, 
     'show_ui'=>true, 
     'show_in_menu'=>true, 
     'show_in_nav_menus' => true, 
     'rewrite' => array('slug' => 'fellow'),  
     'supports' => array('title', 'editor','thumbnail'), 
     'has_archive'=>true 
    ); 
    register_post_type('cima_fellowship', $args); 
} 

我創建在一個文件中的自定義歸檔名爲archive-cima_fellowship.php和它的作品,顯示我所有的cpt。

此cpt具有類似於狀態的元屬性,將其中的一些定義爲當前和其他過去。我想有兩個不同的存檔頁面,一個只顯示他當前的和另一個只顯示過去。

現在我轉身此以這種方式mysite.com/cima_fellowship/?type=past

使用GET變量,但我想有更清潔的URL像mysite.com/fellows/past

爲此,我在CPT登記定義'rewrite' => array('slug' => 'fellow'),,但我不能訪問存檔頁面槽`mysite.com/fellows,我仍然需要訪問「mysite.com/cima_fellowship/」,我不能找出如何以「設計」URL。

有什麼建議嗎?教程?指南?

在此先感謝!

回答

1

現在我不是100%肯定這是否會工作,但嘗試添加:

'has_archive' => 'fellow' 

所以你會:

function register_cima_fellowship() { 
$args = array(
    'labels' => $labels, 
    'public' => true, 
    'menu_position'=>20, 
    'show_ui'=>true, 
    'show_in_menu'=>true, 
    'show_in_nav_menus' => true, 
    'has_archive'=>true, 
    'rewrite' => array('slug' => 'fellow', 'with_front' => false),  
    'supports' => array('title', 'editor','thumbnail'), 

); 
register_post_type('cima_fellowship', $args); 
}  

我10個月左右,以前也有類似的問題,我添加這個,似乎解決了我的問題。

+0

感謝您的回答。你是否通過添加該行來訪問諸如'mysite.com/fellow /'的存檔頁面?不幸的是它不工作... – teone

+0

你有權訪問你的htaccess文件嗎?那裏可能有某些外部因素會導致你的問題。從我知道你的原始代碼應該沒有工作。 – DLaverick

+0

再次嘗試上面的代碼,我已經將它更改回原始代碼,並在您的重寫數組中添加了「'with_front'=> false」。再說我不能說它會解決你的問題,但值得一試,wp論壇上的其他用戶已經取得了成功,有些沒有 – DLaverick

0

這是WordPress的一個問題,只要你有'slug'=>'my-slug'參數,它將起作用,但你必須首先改變你的永久鏈接結構。通過WorkPress> Settings> Permalinks將您的固定鏈接更改爲隨機的不同結構,然後返回到上一個。

這應該解決這個問題。

相關問題