対応(確認)済みページ
- シングル(投稿・固定ページ・カスタム投稿タイプのシングルページ)
- アーカイブ(各カテゴリ・タグ・カスタム分類アーカイブ)
※オプションツール「ダウンロード」は対応確認済み
現状未対応のページ
- HOME
表示する各パーツをすべてウィジェット化し、それぞれのウィジェットで対応する? - タグアーカイブ
必要なコードを追記していないだけ(条件分岐を追加してタグIDを取得する) - カスタム投稿アーカイブページ
表示しているはじめの投稿に指定した背景画像を出力してしまう
カズタマイザーで対応する? - 年別・月別のアーカイブページ
表示しているはじめの投稿に指定した背景画像を出力してしまう - オプションツール「スケジュール」関連ページ
未検証ですが、おそらく以下のような現状だと思われます
「個別のイベント」ページは、「投稿」なので指定可能
「開催の近いイベント」ページは、表示しているはじめの投稿に指定した背景画像を出力してしまう
「カレンダー」ページ・「終了したイベント」は、「固定ページ」なので指定可能
「カレンダー」ページで月ごとに別の画像を表示したいと言われるとムツカシイ….
必要なプラグイン
ACF アドオンは不要
テーマの変更
特に必要なし
テーマのfunctions.phpに以下のタグを追加する
// + 「背景画像」が設定されていたらCSSを出力する add_action( 'wp_head', 'backgraundimg_css' ); function backgraundimg_css() { if ( is_singular() ) { global $post; $this_id = $post->ID; } elseif ( is_category() ) { global $cat; $cat_now = get_category( $cat )->term_id; $this_id = 'category_' . $cat_now; } elseif ( is_tax() ) { $cat_now = get_term_by( 'name', single_term_title( '', false ), get_query_var( 'taxonomy' ), OBJECT, 'raw' ); $this_id = get_query_var( 'taxonomy' ) . '_' . $cat_now->term_id; } $img = get_field( 'tkp-backgraund-image-setup', $this_id ); if ( $img ) { echo ' <style> #wrap { background-image: url(' . $img . '); background-size: auto 100%; background-position: 50% 50%; background-repeat: no-repeat; background-attachment:fixed; } </style> '; } return; }
注意点
- カスタム投稿タイプ・カスタム分類を設置した際にACFの管理画面で対象として登録する必要がある
- 登録する画像は「横長」のものを
画像の固さを表示範囲目いっぱいにセットし、左右はなりゆきではみ出させて表示しているため、縦長の画像を指定すると、左右に空白ができてしまう