サポート » 使い方全般 » カテゴリにカスタムヘッダー機能のようなものを付けることは可能か?

  • 解決済 Hal_Hal

    (@hal_hal)


    こんにちは。
    Wordpressでコーポレートサイトを構築したクライアントより
    以下のような要望をいただいています。

    • カテゴリページのトップイメージを自分たちで変更したい
    • 画像は全カテゴリ共通ではなく、カテゴリごとに管理したい
    • 各カテゴリで数枚の画像をスライド表示したい
    • ※ トップレベルカテゴリのみで実装

    トップページでカスタムヘッダー機能を使用してトップイメージを表示していますが、
    それをクライアントに管理させています。
    それがカテゴリにもあったらいいな、ということのようです。

    カテゴリごとにトップイメージを替えるぐらいならCSSあたりで対応できますが、
    それをクライアントに管理させ、しかも複数枚のスライド表示となると、
    方法が分かりませんでした。

    独自プラグインを作成するだけのお見積もりは取れません。
    出来れば、既存のプラグインか、カスタムフィールドなど、
    現状あるものを利用して実現できればと考えております。

    皆様、お知恵を拝借させてください。
    よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは。
    おすすめできる方法かどうかわかりませんが、上記のような要望をされた時には
    表示させたいページのテンプレートに、特定の固定ページを表示させるように
    タグを追記します。
    方法はいろいろあると思いますが、私はget_page_by_path();を使います。

    あとは、その特定ページでやりたいことが実現できるようにします。
    CSSを調整したり、その特定の固定ページにだけJSを読み込ませるようにしたりしておく
    なども必要です。
    HTMLの実装がシンプルなJSのライブラリを使えば、
    写真の差し替えくらいはできています。

    モデレーター gatespace

    (@gatespace)

    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でチョコチョコっと組むしかありません)。

    トピック投稿者 Hal_Hal

    (@hal_hal)

    皆様、ありがとうございます!
    さすがWPマスター、こんなに早く回答がいただけるとは。

    >Pineapplen様
    なるほど、固定ページを!!
    いいですね!
    それなら、リンク付画像も出来そうですね。

    >gatespace様、pluto1234様
    カスタムフィールドとは!!
    カスタムフィールド……便利だけどクライアントには使いづらい
    というイメージがあったので、びっくりしました。
    こんな素敵なプラグインがあったのですね……、お恥ずかしい。
    今回だけでなく、WPでビジネスサイトを作るのに非常に有効なプラグインですね。
    おかげで色々やりたいことが増えました。

    いずれも有効な手段のようです。
    無知って悔しいですね。WP……奥が深い。
    これから、さっそく試してみたいと思います。
    ありがとうございます。

    同じようなことで悩んでいる方のためにも、
    当方で上記方法を試行した後、
    こちらで「実装の例」としてご報告させていただき、
    「解決」としたいと思います。
    時間はかかると思いますが、ご了承ください。
    WPマスターの皆様、本当にありがとうございました。

    トピック投稿者 Hal_Hal

    (@hal_hal)

    解決しました。
    教えていただいた『Advanced Custom Fields』と
    カスタム投稿タイプを使用しました。
    固定ページを使う、というアイデアを変化させました。

    カスタム投稿を利用したのは、

    • 権限を付加したカスタム投稿なら、一般の記事のように権限設定が可能だから
      (※スタッフが勝手に画像を投稿されては困るとクライアントからの要望)
    • リビジョンが残せる
    • アイテムの増減が可能
    • 並び替えが可能
    • 専用メニューだから分かりやすい

    という理由からです。

    まず、カテゴリートップイメージのために、カスタム投稿タイプを新規作成します。
    このカスタム投稿ではカテゴリを使用できるようにしておきます。

    次に、Advanced Custom Fieldsで
    『画像』と『URL』を登録させるフィールドを作成し、
    先ほど作成したカテゴリートップイメージのカスタム投稿の記事投稿画面でのみ、
    カスタムフィールドが出るように設定します。

    投稿者は、カスタム投稿(カテゴリートップイメージ)を投稿する際、
    どのカテゴリーに表示したいか、カテゴリーを選ばせます。
    画像は『画像』フィールドに、
    リンク先は『URL』フィールドに記入します。

    category.phpでは、get_postsを使用し、
    ‘category’ => $cat->term_id
    と指定することで、現在のカテゴリーを選択した投稿のみ取得しました。

    回答いただいた皆様、ありがとうございました!
    試行錯誤しましたが、思い描いていたものが出来ました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カテゴリにカスタムヘッダー機能のようなものを付けることは可能か?」には新たに返信することはできません。