問題描述
困境
我有幾個自定義帖子型別:
-
投資專案
-
褒獎
-
常見問題解答
這些自定義帖子型別的 URL 結構如下:
我想使用正常的內建 WordPress 帖子型別來控制我們的部落格條目,並且每個部落格條目的 URL 都是這樣的:
如果我去設定> 固定連結並調整 URL 結構為…
/blog/%postname%/
那麼我的所有帖子型別的 URL 都會受到影響,這會導致:
-
等等…
問題
我想知道 – 是否可以調整內建 WordPress 文章型別的 URL 結構,而不影響其他自定義帖子型別的 URL 結構?
解決我困境的另一種方法就是建立一個名為”Blog.” 的另外一個自定義的帖子型別這似乎是浪費的,因為我根本就不會使用內建 WordPress 的文章型別。
如果有人需要它,為什麼
如果有人想知道為什麼我在網址中需要”blog”,那是因為我們將我們的部落格合併到與我們網站相同的安裝中,並希望保持 URL 不變,這樣我們就不會失去寶貴的 Google 果汁。
任何幫助非常感謝 – 謝謝!
最佳解決方案
您可以在自定義帖子型別註冊時執行此操作。
1) 將 WordPress 管理員中的預設固定連結設定為您想要的結構,例如:
/blog/%postname%
2) 將”slug” 和”with_front” 引數新增到 register_post_type 功能中的 rewrite-array 。 “slug” 必須是您的 post-type 的名稱。
$args = array(
// ...
'rewrite' => array(
'slug' => 'your_post_type',
'with_front' => false
),
// ...
);
register_post_type('your_post_type',$args);
這應該生成以下 rewrite-rules:
Default Post: http://example.com/blog/%postname%
Default Page: http://example.com/%postname%
Custom Post Type: http://example.com/your_post_type/%postname%
EDIT
“slug” 引數是可選的。如果您沒有設定它,則使用您的自定義帖子型別的名稱。檢視有關 register_post_type 的功能參考:http://codex.wordpress.org/Function_Reference/register_post_type
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。