フォーラムへの返信
-
投稿者投稿
-
なぜ読み込みされないのか確認するため、ブラウザのデベロッパーツール → ネットワークタブで動画のレスポンスを確認してみたところ、206 というステータスが返ってきているようでした。詳しくないのでググってみたところ、Safari は大きな動画などを分割してから再生するための HTTP Range Request というものに対応させる必要があるらしいということがわかりました。
ただ、これの対応が Snow Monkey 側でできるものなのか、サーバー側でやらないといけないものなのか、それとも動画ファイルを何とかすればなんとかできるものなのかまではよくわかりませんでした…。
もし開発環境とか別のサーバーにアップした場合はちゃんと表示されるということであれば、サーバー側で対応が必要なものなのかもしれません。
♥ 0いいねをした人: 居ませんおそらく
と同じで、何かのスクリプトとアイコンを表示するライブラリ(FontAwesome)が干渉してしまっているのだと思うのですが、どれが干渉しているのかまでは突き止められませんでした。
もし FontAwesome のアイコンを独自には使っていない(Snow Monkey が勝手に表示するもの以外は使っていない)のであれば、カスタマイザー → ページ速度最適化 → 軽量な FontAwesome を使用する、を有効化することで解決するかもしれません。
♥ 0いいねをした人: 居ませんあ、条件分岐が抜けていました…。
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 になるように、コードを修正してみてください。
投稿一覧はそのままで詳細ページでの表示だけ、ということは、あくまで「その記事の装飾としての画像を変えたい」ということだと思ったので、そのやり方を考えてみました。
※
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(); } );
ここのことですかね?
♥ 0いいねをした人: 居ませんインデントがなかったのでとりあえずインデントを入れていってみたところ、閉じミスが何箇所かありました。
また、シンタックスチェックしてみると、セミコロンの不足やメディアクエリの
and
の不足なども何箇所かあるようでした。top-mv〜
ではじまるところも、「top-mv
という「タグ」に対して」というセレクタになっているので、多分.top-mv〜
か#top-mv〜
になるのかなと思いました。あと、
/*スマホ*/ @media screen and (max-width: 640px) { ... }
とメディアクエリで囲われている中にも新たなメディアクエリが入れ子になっていて、これもちょっと効いているのか怪しいので確認されたほうが良いのかなと思いました。
その辺り全て修正して CSS を追加したら多分反映されるようになると思います!
こちらの環境では反映されているっぽく見えますね…。
.l-footer { background-color: #417fd0; color: #fff; }
としてみました。それでもダメなら
!important
を付けて詳細度を強めてみるとどうでしょうか?♥ 0いいねをした人: 居ません -
投稿者投稿