[英]Permalink for Custom Taxonomy Wordpress
目前,我有一個WordPress網站,該網站包含名為“案例研究”的頁面,博客和自定義帖子類型。
我的永久鏈接設置是一個自定義結構,該結構是:/ blog /%postname%/,以便我可以在所有博客文章的URL中顯示“博客”。
我的自定義帖子類型的URL結構為http://www.my-domain/case-studies/case-study-url-here/ ,在以下設置下可以正常使用。
"rewrite" => array('slug' => 'case-studies', 'with_front' => FALSE),
我有一個自定義分類法,可以按部門對我的案例研究進行分類,因此,我創建了一個分類法,即“ division”,我希望其URL為“ http://www.my-domain/case-studies/division-here/,但當前是顯示類似“ http://www.my-domain/blog/case-studies/division-here ”的錯誤信息。
為了從部門URL中刪除單詞博客,我將其重寫代碼更改為如下所示。
"rewrite" => array( 'slug' => 'case-studies', 'with_front' => false),
但是問題是,通過這樣做,我無法正確進入部門分類法頁面,而是顯示了我網站上的一些隨機頁面或帖子,但是帶有“ blog”基礎的舊URL可以正常工作,並且在其中顯示了案例研究列表我將“ with_front”設為真; 但這不是我想要的。
有什么幫助嗎? 如何從URL中刪除博客並使其正常工作?
問候馬諾伊·索尼
在您的自定義帖子類型中,您需要添加重寫段,例如'rewrite' => array('slug' => '%division%', 'with_front' => false ),
然后您需要在功能文件中添加以下代碼。
function d_reset_permlinks( $post_link, $post ){
if ( is_object( $post ) && $post->post_type == 'case-studies' ){
$terms = wp_get_object_terms( $post->ID, 'division' );
if( $terms ){
return str_replace( '%division%' , $terms[0]->slug , $post_link );
}
}
return $post_link;
}
add_filter( 'post_type_link', 'd_reset_permlinks', 1, 2 );
並用帖子名稱重置永久鏈接,然后檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.