Quantcast
Channel: プラグイン検証用-FTPup
Viewing all articles
Browse latest Browse all 88

各ページ背景に画像を表示する

$
0
0

対応(確認)済みページ

  • シングル(投稿・固定ページ・カスタム投稿タイプのシングルページ)
  • アーカイブ(各カテゴリ・タグ・カスタム分類アーカイブ)

※オプションツール「ダウンロード」は対応確認済み

現状未対応のページ

  • 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の管理画面で対象として登録する必要がある
  • 登録する画像は「横長」のものを
    画像の固さを表示範囲目いっぱいにセットし、左右はなりゆきではみ出させて表示しているため、縦長の画像を指定すると、左右に空白ができてしまう

Viewing all articles
Browse latest Browse all 88

Trending Articles