(注:この質問は元々カスタムフィールドに関するものでしたが、@ MikeSchinkelはカスタム投稿タイプを含むより優れたソリューションを持っていました)
私のサイトには、サイドバーに同じデータを表示したいページがいくつかあります。たとえば、次のような構造の場合:
-Home
-Cars
-Volvo 850 overview
-Volvo 850 tech spec
-Volvo 850 pictures
-Porsche 911 overview
-Porsche 911 tech spec
-Porsche 911 pictures
-Roads
-Route 66 overview
-Route 66 history
-Route 66 pictures
-Pan-American Highway overview
-Pan-American Highway history
-Pan-American Highway pictures
Volvo 850のすべてのページに同じデータをサイドバーに表示し、すべてのポルシェのページに異なるデータセット(たとえば、Speed、Makerなど)を表示したいと思います。
道路ページには、道路ごとに独自のデータセットがあります。車と道路にも独自のページテンプレートがあり、右側のサイドバーを取得する方法は、sidebar.php内で次のようになります。
if ( is_page_template('car-profile-template.php') ) :
// show car widgets
次に、Volvo 850の画像ページの例を示します。同じ(左)サイドバーが他のVolvo 850ページにも表示されるはずですが、右側のものは単なるページコンテンツです。
| Home •Cars Roads |
--------------------------------------------------------
| Overview | Volvo 840 Pictures |
| Tech Spec | (some pics) |
| •Pictures | |
------------------ |
| -Specs- | |
| Volvo 850 | |
| Speed:150mph | |
| Maker:Volvo | |
| Download PDF | |
------------------ |
| -Rating- | |
| Style:3 | |
| Safety:5 | |
| Reliablity:4 | |
------------------ |
この例では、2つのサイドバーウィジェット、SpecsとRatingがカスタム投稿タイプから情報を取得する必要があります。エンドユーザーが簡単に編集できる方法はありますか?つまり、このカスタムデータを1回だけ入力する必要があります。各フィールドを個別にする必要はありません(つまり、すべてのSpecをEditorフィールド内に入力し、Ratingのすべてを抜粋フィールドに入れることができます。多分)