こんにちは。
おすすめできる方法かどうかわかりませんが、上記のような要望をされた時には
表示させたいページのテンプレートに、特定の固定ページを表示させるように
タグを追記します。
方法はいろいろあると思いますが、私はget_page_by_path();
を使います。
あとは、その特定ページでやりたいことが実現できるようにします。
CSSを調整したり、その特定の固定ページにだけJSを読み込ませるようにしたりしておく
なども必要です。
HTMLの実装がシンプルなJSのライブラリを使えば、
写真の差し替えくらいはできています。
Advanced Custom Fieldsを使えば、何とかなりそうな気が。
http://wordpress.org/extend/plugins/advanced-custom-fields/
http://www.advancedcustomfields.com/
Advanced Custom Fieldsの有償アドオンで「Gallery」というのがあるので、それを使って画像は登録し、カテゴリーアーカイブのテンプレートに出力します。
http://www.advancedcustomfields.com/add-ons/gallery-field/
ざっくりプラグインのページを読んだだけですが、スライドショーのスクリプトは別途用意しないといけないみたいですね。
(サンプルではFlexslider用のマークアップがされていますが、js、cssファイルは別のようです)
[Advanced Custom Fields で別の案]
1. Advanced Custom Fields は、ポストの他にカテゴリーにもメタフィールド(カスタムフィールド)を設置できます。ということで、トップレベルのカテゴリーに、複数の画像をカスタムフィールドとしてアップします。
2. その辺に転がっているスライダー(jQuery等)をカテゴリーアーカイブに設置して、カテゴリーのカスタムフィールドとしてアップした画像を表示します(どの画像を表示するかは、PHPでチョコチョコっと組むしかありません)。
皆様、ありがとうございます!
さすがWPマスター、こんなに早く回答がいただけるとは。
>Pineapplen様
なるほど、固定ページを!!
いいですね!
それなら、リンク付画像も出来そうですね。
>gatespace様、pluto1234様
カスタムフィールドとは!!
カスタムフィールド……便利だけどクライアントには使いづらい
というイメージがあったので、びっくりしました。
こんな素敵なプラグインがあったのですね……、お恥ずかしい。
今回だけでなく、WPでビジネスサイトを作るのに非常に有効なプラグインですね。
おかげで色々やりたいことが増えました。
いずれも有効な手段のようです。
無知って悔しいですね。WP……奥が深い。
これから、さっそく試してみたいと思います。
ありがとうございます。
同じようなことで悩んでいる方のためにも、
当方で上記方法を試行した後、
こちらで「実装の例」としてご報告させていただき、
「解決」としたいと思います。
時間はかかると思いますが、ご了承ください。
WPマスターの皆様、本当にありがとうございました。
解決しました。
教えていただいた『Advanced Custom Fields』と
カスタム投稿タイプを使用しました。
固定ページを使う、というアイデアを変化させました。
カスタム投稿を利用したのは、
- 権限を付加したカスタム投稿なら、一般の記事のように権限設定が可能だから
(※スタッフが勝手に画像を投稿されては困るとクライアントからの要望)
- リビジョンが残せる
- アイテムの増減が可能
- 並び替えが可能
- 専用メニューだから分かりやすい
という理由からです。
まず、カテゴリートップイメージのために、カスタム投稿タイプを新規作成します。
このカスタム投稿ではカテゴリを使用できるようにしておきます。
次に、Advanced Custom Fieldsで
『画像』と『URL』を登録させるフィールドを作成し、
先ほど作成したカテゴリートップイメージのカスタム投稿の記事投稿画面でのみ、
カスタムフィールドが出るように設定します。
投稿者は、カスタム投稿(カテゴリートップイメージ)を投稿する際、
どのカテゴリーに表示したいか、カテゴリーを選ばせます。
画像は『画像』フィールドに、
リンク先は『URL』フィールドに記入します。
category.phpでは、get_postsを使用し、
‘category’ => $cat->term_id
と指定することで、現在のカテゴリーを選択した投稿のみ取得しました。
回答いただいた皆様、ありがとうございました!
試行錯誤しましたが、思い描いていたものが出来ました。