web-dev-qa-db-ja.com

カスタム投稿タイプのURL構造の下にページを追加する方法

カスタム投稿タイプのURL構造の下にページを追加する方法

例えば...

「Knowledge Base」というカスタム投稿タイプがある場合は、次の場所にあります。domain.com/knowledge-base/

...そして私は "Archives"というページを追加したいと思いました...位置:domain.com/knowledge-base/archives/

...そして、私は、毎日、毎週、毎月、毎年などのように、サブページをアーカイブに追加したいと思っていました。(たとえば)domain.com/knowledge-base/archives/daily/にあります。

私が考えることができる唯一の方法は、私が "ナレッジベース"のスラッグを持つページを追加し、それからそれぞれのサブページを追加する必要があることです。

しかし、そうすると... domain.com/knowledge-base/を表示すると、ページの書き換え規則によって私の投稿タイプのアーカイブが上書きされるようです。

OR

カスタム投稿タイプの書き換えルールは、ページ書き換えルールを上書きします。

いずれにしても、サブページをその構造に追加した、完全に機能するカスタム投稿タイプを持つことはできません。

カスタム投稿タイプに「ページ」を追加するにはどうすればよいですか。

2
Michael Ecklund

即座に質問をする前に、私は本当に物事を徹底的に考え出そうとするべきです。

私はとても簡単な解決策を見つけました。それは正確に「ページ」を追加するのではありませんが、それは私が必要とすることを行います。

カスタム投稿タイプを登録するときに、指定する必要があることが2つあります。

デフォルトでは、パラメータhierarchicalfalseに設定されています。解決策:hierarchical => trueを設定してください。

階層機能が機能するためには、page-attributessupportsパラメータに追加する必要があります。

さて、あなたのカスタム投稿タイプで "archives"という名前の新しい投稿を作成し、親を選択しないでください。

それから、別の新しい投稿を作成し( "毎日"など)、投稿の親として[アーカイブ]を選択します。

とても簡単です。

ただし、「アーカイブ」のスラッグを含む「ページ」がある場合、ナレッジベースの「アーカイブ」には「アーカイブ」だけでなく「アーカイブ2」のスラッグが含まれるように思われます。

その問題に遭遇したら、WordPress 4.1に更新してください。複数の投稿タイプにまたがってスラッグを複製することができます。

0
Michael Ecklund