投稿タイプのアーカイブの代わりにWordPressページを使用する


15

これが重複している場合は申し訳ありません。答えが見つかりません。

カスタム投稿タイプのアーカイブページを「人工」WordPressページに書き換えるにはどうすればよいですか?

例えば:

  • 単一ページ: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • アーカイブページ: http://www.mywebsite.com/cool-post-type/

http://www.mywebsite.com/cool-post-type/書き換えたいhttp://www.mywebsite.com/about-cool-post-types/

これをhtaccessで実行できますか?構文はどうなりますか?(私はhtaccessが苦手です!)

これは動作しません:

RewriteRule ^cool-post-type\/\?$ /about-cool-post-types [L]

または、WordPressソースコードでこれを行う必要がありますか?したくない!

回答:


16

これは実際には非常に簡単です。register_post_typeを使用して投稿タイプを宣言する場合、「has_archive」の新しい引数を追加する必要があります。

したがって、次の効果に何かを追加します。

'has_archive' => 'about-cool-post-types'

次に、[設定]> [パーマリンク]に移動してフラッシュし、機能するはずです。ローカルでテストしましたが、これが異なるURLでアーカイブページを自動的に生成する方法のようです。その後、CPTのスラッグでページを作成できるはずです。


これは機能しなくなりましたが、「has_archive」を任意のテキストに割り当て、ページのスラッグをカテゴリスラッグに名前変更することで修正できました。
ワーウィック

7

また、HumanMadeによるこのための単純な1ファイルのプラグインもあります。

https://github.com/humanmade/page-for-post-type

(メタ:リンクを使用した回答は一般的に素晴らしいものではないことを知っていますが、そのソースコードをコピーして回答に貼り付けたいだけではありません。この種の最適な戦略は何ですか?)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.