私のプロジェクトはビジネスリスティングのディレクトリです。ユニークではない用語のスラッグ、または特定のページとパーマリンクを構築するために使用できるものは何ですか?
個別のリスティングURLは、domain.com/five-star-carsのように単純に見えますが、WordPressがそのまま処理します。
しかし、リージョンベースのアーカイブに掘削する際に問題があります。それらには特定のURL構造が必要です。たとえば、オハイオ州のすべてのリスティングを表示する場合は、domain.com/ohioも簡単です。
しかし、我々はクリーブランド、オハイオ州クリーブランド、ネバダ州のすべてのリストを表示したい場合は - 私たちはこれをしたい:
- domain.com/cleveland/oh
- domain.com/cleveland/nd
私はCPT "Listings"とカスタムタクソノミー "Location"を作成しました。オハイオとネバダを親の言葉に、クリーブランドを両方の子供として追加しました。ここで
は問題です:第一クリーブランドのスラグはdomain.com/location/ohio/cleveland/であるが、第二1はdomain.com/location/nevada/cleveland-nevada/
になりました私はその用語がユニークでなければならないことを知ったので、それは問題です - URLを構築するために用語スラッグを使用することはできません。
私が次に行ったことは、州と都市を各リスティングのカスタムフィールド値として保存することでした。今、私はこのような何かを介してグローバル変数として(用語のナメクジとは違って、ユニークである必要はありません、)これらの値を使用することができます。
function loc_global_vars() {
global $wp_query;
$postid = $wp_query->post->ID;
global $loc_vars;
$loc_vars = array(
'state' => get_post_meta($postid, 'state', true),
'city' => get_post_meta($postid, 'city', true),
);
}
add_action('parse_query', 'loc_global_vars');
しかし、今、私はこだわっている:私の次のステップは何ですか?
Q1:これらの変数を使用してアーカイブページとパーマリンクを構築するにはどうすればよいですか?
Q2:すべてのアーカイブタイプに対してテンプレートをカスタマイズできるようにするにはどうすればよいですか?
また、私が見逃していることは明らかで、間違った方向を探していますか? したがって、一般的には:
質問3:これにはより良い方法がありますか?
州のページには都市は存在しません。州や州ごとの詳細な説明は、http://www.familydaysout.com/kids-things-to-do-usa/ohioのように – bugnumber9
@spnzr答えを例で明確にする必要があります。参考文献は、それがどのように機能するかを理解していない他の人々のためには、しばしば追跡が難しいためです。 – MinhTri