問題描述
困境
我有幾個自定義帖子類型:
-
投資項目
-
褒獎
-
常見問題解答
這些自定義帖子類型的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。