問題描述

困境

我有幾個自定義帖子型別:

  • 投資專案

  • 褒獎

  • 常見問題解答

這些自定義帖子型別的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。