web-dev-qa-db-ja.com

同じ名前の異なる親の2つの子ページを作成できますか?

2ページあります - new.hillsong.com/australia/sisterhood - new.hillsong.com/hills/sisterhood

どちらのページも/ hills/sisterhoodサイトのコンテンツを表示していますが、内容が異なる別のページです。これについてオンラインで何かを見つけることができないようです。これは可能ですか?これを機能させる方法はありますか。

助けてくれてありがとう!ポール

7
Paul

はい、できます。

昔は、これは不可能でした(他の答えから明らかなように)。しかし、今は可能です。

WordPressでは、異なる親からの(階層型の任意の投稿タイプの)子ページに同じスラッグ/名前を付けることができるようになりました。これが可能になるのは、WordPressが一意性チェックのために階層ツリー全体(親子の組み合わせ)を考慮するためです。

そのため、次のページのURLが可能になりました。

example.com/parent-1/child
example.com/parent-2/child
3
Fayaz

いいえ、いいえ、できません 。スラッグがいったんページで使用されると、他のページでは使用できなくなります。投稿の種類にかかわらず、他の投稿でも使用できません。

スラッグを投稿タイプ別に再利用できるように、これを修正しようとしているWP CoreにTracチケットがありますが、それでもページスラッグを1回だけ使用できるようになります。自分がやろうとしていることができる可能性は、せいぜい遠隔であり、最悪の場合は消え去ることはほとんどありません。

あなたがこれに到達することができる最も近いのはあなたが姉妹エンドポイントが存在するときあなたがページのコンテンツを変更することを可能にするであろう書き換え規則インターフェースを通して/ sisterhood /エンドポイントを追加することによってです。ただし、このエンドポイントはエンドポイントであり、ポストメタとコンテンツを含むページではありません。同じページですが、エンドポイントがあります(この場合は、まだオーストラリアのページにいます。何か違うものを表示するオプションがあります)

書き換えルールとエンドポイントは、気になる人には向いていません。もしこれに興味があるなら、私はあなたが質問をすることを勧めます:

「ページエンドポイントを追加するにはどうすればよいですか。別のテンプレートを表示できるように、自分のページに姉妹エンドポイントを追加しようとしています。エンドポイントを追加してから別のテンプレートをロードする方法を教えてください。」

あなたがここにリンクしていることを確認してください、そしてあなたもここに新しい質問リンクを入れます

1
Tom J Nowell

私はその古い投稿を知っていますが、(私のような検索エンジンでそれを見つける人のために)言及する価値があると思いました。 ( https://wordpress.org/plugins/custom-permalinks/ )。

私はこのプラグインを約30のクライアントWebサイトで長年使用してきましたが、問題は発生したことがありません。 /、スラッグが何であるかにかかわらず、それは何の問題もなしにそれをするでしょう。

1
Eoin H

それをする最も簡単な方法はそのためにページを使用せず、代わりに "hills"や "australia"のために新しい投稿タイプを作成することですこれはPITAになることができますがユニークであること(この方法で行われるのは、コンテンツ全体を更新せずにパーマリンク構造を変更できるようにするためです)。

考慮すべきもう1つの選択肢は、サブディレクトリ構造を持つマルチサイトインストールを使用することです。これは、「オーストラリア」と「丘」のセクションの違いや、ネイティブ検索のような集約的なものをすべてのコンテンツで処理する必要があるかどうかによって異なります。

最も複雑なオプションはあなた自身のURL解析を書くことです。たとえば、テンプレート処理コードがロードされる前にurlが "hills/sisterhood"かどうかfunctions.phpをチェックインし、必要な特定のページを提供するものにクエリを置き換えます。ここでの問題は、それが拡大縮小するのが難しいということです、そして、例えばあなたのサイトマップで使用されるためにページのための適切なパーマリンクを生成するための解決策を見つける必要があるかもしれません。

0
Mark Kaplun