サポート » 使い方全般 » メニュー項目ごとのヘッダー画像の指定

  • 解決済 Chanchan.

    (@eureka20080321)


    いつも大変お世話になっております。
    色々と思うところがあり、テーマをBusinessPressに変更してみることにしました。
    また、質問が重複してしまうところがあるかも知れませんが、何卒よろしくお願いします。

    ヘッダー画像をカスタマイズより変更を試みています。
    画像は問題なく表示されていますが、写真をいくつかアップロードしても、一つの画像でしか適用されません。

    メニューの項目ごとにヘッダー画像を設定していきたいと考えており、おそらく

    <div class="jumbotron" style="background-image: url('https://')">
    </div>

    のURL部分に該当の写真のURLを入れると良いと思っているのですが、ヘッダーのphpを探しても該当の部分を見つける事ができませんでした。

    どこをどのように変更すると良いですか?
    教えてください、よろしくお願いします。

    ヘルプの必要なページ: [リンクを見るにはログイン]

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • こんにちは

    header.php の
    <div class="jumbotron"<?php businesspress_post_background(); ?>>

    <div class="jumbotron"<?php businesspress_post_background( get_post_thumbnail_id( get_option( 'page_for_posts' ) ) ); ?>>
    です。

    この中の businesspress_post_background() で style=”~” が出力されています。
    businesspress_post_background() は、inc/template-tags.php ファイルで定義されています。

    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakaさま

    いつも本当にありがとうございます。
    また、しつこく質問してしまうかも知れません。
    どうかご容赦くださいませ。

    教えていただいた、incのphpファイルを見つけ、子テーマにアップロードしました。

    style="background-image: url('<?php echo esc_url( $featured_url[0] ) ?>')"

    おっしゃていた、styleを発見し、$featured_url[0] ここを変えるのかなと。。。

    もしかしたら、他トピックスで教えていただいたスラッグのIDを、この[0]の部分に入れるといいのでしょうか?

    もう少し教えていただけないでしょうか?
    よろしくお願いします。

    incのphpファイルを見つけ、子テーマにアップロードしました。

    このファイルを子テーマにコピーしても有効にはなりません。
    子テーマの functions.php に businesspress_post_background() をコピーすると、こちらが有効となります。

    businesspress_post_background() の例:

    function businesspress_post_background( $thumbnail_id = '' , $image_size = 'businesspress-post-thumbnail-large' ) {
    	/*
    	if ( '' == $thumbnail_id ) {
    		$thumbnail_id = get_post_thumbnail_id();
    	}
    	if ( $featured_url = wp_get_attachment_image_src( $thumbnail_id, $image_size ) ) {
    		$url = $featured_url[0];
    	}
    	*/
    
    	$url = 'https://・・・.jpg';
    
    	if ( $url ) : ?>
    		 style="background-image: url('<?php echo esc_url( $url ) ?>')"
    	<?php endif;
    }
    • この返信は3年、 6ヶ月前にishitakaが編集しました。
    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakaさま

    ありがとうございます。

    $url = 'https://・・・.jpg';

    の部分に画像のURLを入れると良い
    ということですね?

    指定したいメニューの項目は、どの部分で指定をすれば良いでしょうか?

    引き続きお願いします。

    「指定したいメニューの項目」とはページのことでしょうか?
    投稿ページの場合は is_single()、固定ページの場合は is_page() などの条件分岐タグ(下記ページを参照)で判定できます。
    https://wpdocs.osdn.jp/条件分岐タグ

    例:

    if ( is_front_page() && is_home() ) {
        // フロント&ホームページ
        $url = 'https://・・・.jpg';
    } elseif ( is_single( 123 ) ) {
        // ID 123の投稿ページ
        $url = 'https://・・・.jpg';
    } elseif ( is_page( 456 ) ) {
        // ID 456の固定ページ
        $url = 'https://・・・.jpg';
    } else {
        // それ以外
        $url = 'https://・・・.jpg';
    }
    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakaさま

    返信ありがとうございます。
    ページのことでした!説明不足ですみませんでした。

    おかげさまで無事に設定できたのですが、カテゴリーのアーカイブページにも反映させうようと考え、

    elseif ( is_category( 456 ) ) {
        // ID 456の固定ページ
        $url = 'https://・・・.jpg'
    };

    のようにis_categoryに変更したのですが、反映しませんでした。

    この場合、どのような単語を使用しますか?

    よろしくお願いします。

    is_category() でいいかと思います。
    そのページは、カテゴリー ID 456 のカテゴリーページで間違いないでしょうか?

    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakaさま

    何度も申し訳ございません。

    すみません。
    例えばでしたので、正確には

    elseif ( is_category( 1 ) ) {
        // ID infomationのアーカイブページ
        $url = 'https://eureka.salon/wp-content/uploads/2019/10/photo_191022_16-e1571738553781.jpg';
    }

    このように追記しました。

    よろしくお願いします。

    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakaさま

    追記します。
    全ページをチェックしていましたら、画像は適用されていたのですが、設定した固定ページのヘッダー画像の位置とは違い、なぜか?フッターエリアで設定したウィジェット、PICK UP(注目の投稿)の部分に表示されてしまっていました。他のカテゴリーアーカイブも同様でした。



    の4つです。

    よろしくお願いします。

    このテーマはカテゴリーページでは jumbotron 画像は表示されませんでした。m(__)m

    header.php に下記のようなコードを追加する必要があります。

    <?php if ( is_category() ) : ?>
    <div class="jumbotron"<?php businesspress_post_background(); ?>>
    	<div class="jumbotron-overlay">
    		<div class="jumbotron-content">
    			<?php the_archive_title( '<h2 class="jumbotron-title">', '</h2>' ); ?>
    		</div><!-- .jumbotron-content -->
    	</div><!-- .jumbotron-overlay -->
    </div><!-- .jumbotron -->
    <?php endif; ?>

    </header> の前あたりに、

    • この返信は3年、 6ヶ月前にishitakaが編集しました。
    トピック投稿者 Chanchan.

    (@eureka20080321)

    ishitakasaさま。

    大変長々お付き合いいただき、本当にありがとうございます!
    丁寧に教えていただいたので、無事に解決ができました。

    いつも本当にお世話になります。
    また、よろしくお願いします。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「メニュー項目ごとのヘッダー画像の指定」には新たに返信することはできません。