投稿の詳細ページだけアイキャッチ画像を変更したい

0
いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #143276
    三浦裕
    参加者
    6

    【お使いの Snow Monkey のバージョン】26.0.3
    【お使いの Snow Monkey Blocks のバージョン】21.0.7
    【お使いの Snow Monkey Editor のバージョン】10.0.4
    【お使いのブラウザ】os
    【当該サイトのURL】

    ### 実現したいこと

    投稿のアイキャッチ画像で詳細ページのみ別の画像に変更したい

    画像を指定するかデフォルト画像に変更したい

    【希望表示】

    投稿一覧などは設定したアイキャッチ画像表示

    詳細ページのみ別の画像表示

    【設定】

    Custom Post Type UIで投稿

    ### 発生している問題

    コードを追加しても変わらない

    ### 試したこと

    コードを追加

    function custom_replace_featured_image($html, $post_id, $post_thumbnail_id, $size, $attr)
    {
    	// 詳細ページでのみ処理を実行
    	if (is_single() && in_the_loop() && is_main_query()) {
    		// デフォルト画像のURLを指定
    		$default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg'; // デフォルト画像のパスを指定
    
    		// 新しい画像タグを生成
    		$html = '<img src="' . esc_url($default_image_url) . '" alt="' . esc_attr(get_the_title($post_id)) . '">';
    	}
    	return $html;
    }
    add_filter('post_thumbnail_html', 'custom_replace_featured_image', 10, 5);

    お忙しい中、申し訳ありませんがご教授の程よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #143277
    三浦裕
    参加者
    6
    function custom_replace_featured_image($html, $post_id, $post_thumbnail_id, $size, $attr)
    {
    	// 詳細ページでのみ処理を実行
    	if (is_single() && in_the_loop() && is_main_query()) {
    		// デフォルト画像のURLを指定
    		$default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg'; // デフォルト画像のパスを指定
    
    		// 新しい画像タグを生成
    		$html = '<img src="' . esc_url($default_image_url) . '" alt="' . esc_attr(get_the_title($post_id)) . '">';
    	}
    	return $html;
    }
    add_filter('post_thumbnail_html', 'custom_replace_featured_image', 10, 5);
    1
    いいねをした人:
    #143278
    アバター画像キタジマ タカシ
    参加者
    2457

    詳細ページでのアイキャッチ画像の表示位置は「ページヘッダー」でしょうか?それとも「コンテンツの上」でしょうか?

    1
    いいねをした人:
    #143279
    アバター画像キタジマ タカシ
    参加者
    2457

    投稿一覧はそのままで詳細ページでの表示だけ、ということは、あくまで「その記事の装飾としての画像を変えたい」ということだと思ったので、そのやり方を考えてみました。

    post_thumbnail_html で詳細ページだけ表示を変える場合、OGP 画像や関連記事などに使用される画像も変わってしまう可能性があるのでそれ以外を使ったやり方にしてみました。

    「アイキャッチ画像の表示」の選択肢によって対応が変わるので、一応それぞれのパターンについて考えてみました。

    ### 「アイキャッチ画像の位置」が「ページヘッダー」のとき

    // テンプレートパーツに画像の URL を差し替えるオプションがあるのでそれを使う。
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/page-header',
    	function( $args ) {
    		$default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg';
    		$args['vars']['_image'] = '<img src="' . esc_url( $default_image_url ) . '" alt="' . esc_attr( get_the_title() ) . '">';
    		return $args;
    	}
    );

    ### 「アイキャッチ画像の位置」が「コンテンツの上」のとき

    // オプションは無いのでテンプレートパーツ自体を書き換える。
    add_filter(
    	'snow_monkey_template_part_render_template-parts/content/eyecatch',
    	function( $html ) {
    		if ( ! $html ) {
    			return $html;
    		}
    
    		$default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg';
    		$default_image     =
    		ob_start();
    		?>
    		<div class="c-eyecatch">
    			<img src="<?php echo esc_url( $default_image_url ); ?>" alt="<?php echo esc_attr( get_the_title() ); ?>">
    		</div>
    		<?php
    		return ob_get_clean();
    	}
    );
    1
    いいねをした人:
    #143287
    三浦裕
    参加者
    6

    キタジマ 様

    お世話になっております。

    早速のご教授ありがとうございます。

    おっしゃる通り「その記事の装飾としての画像を変えたい」です。

    早速試してみましたが下記のように表示ができませんでした。

    【現状】

    固定ページまで反応してヘッダー画像が表示できなくなった

    【要望】

    社員紹介ページやお知らせなど投稿の詳細ページのみ適用したいです。

    ページヘッダーの場合とページヘッダーの上にタイトルを表示の2パターン知りたいです。

    お手数おかけいたしますが、何卒よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #143290
    アバター画像キタジマ タカシ
    参加者
    2457

    あ、条件分岐が抜けていました…。is_single() で条件分岐させてください。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/page-header',
    	function( $args ) {
    		if ( ! is_single() ) {
    			return $args;
    		}
    
    		$default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg';
    		$args['vars']['_image'] = '<img src="' . esc_url( $default_image_url ) . '" alt="' . esc_attr( get_the_title() ) . '">';
    		return $args;
    	}
    );

    画像が表示されないのは上記コードの中で指定している画像の URL が正しくないからなので、実際に表示させたい画像の URL になるように、コードを修正してみてください。

    1
    いいねをした人:
    #143298
    三浦裕
    参加者
    6

    早速の修正ありがとうございます。

     
    <img src="http://mitsudenshi.local/wp-content/themes/snow-monkey/wp-content/uploads/2024/12/XXXXX.jpeg" alt="画像">

    リンク先が上記になっておりまして、管理画面のメディアに追加している為
    /wp-content/uploads/2024/12/XXXXX.jpeg
    にsrcを変更したいのですがどのように行えばよろしいでしょうか。

    ご教授よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #143303
    アバター画像キタジマ タカシ
    参加者
    2457
    get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg';
    

    https:// から始まる URL に書き換えるのが簡単ではないですかね?

    1
    いいねをした人:
    #143306
    三浦裕
    参加者
    6

    ありがとうございます思い通りの表示ができました!

    ご対応いただき感謝申し上げます。

    こちらトピックを閉じさせていただきます。

    1
    いいねをした人:
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • トピック「投稿の詳細ページだけアイキャッチ画像を変更したい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。