フォーラムへの返信
-
投稿者投稿
-
多分先日のアップデートの影響だと思います。
パターンライブラリーで使ってて、そちらでは不具合が発生していないので気づきませんでした…。
ブロックの組み合わせによって発生してしまうのかもしれません。ちょっと調査してみます。
WordPress 6.3 でも details / summary なブロックが追加されますし、アコーディオンもあるので、ほぼ同じようなブロックを追加するのはどうかなという感じはします。アコーディオンではなく新しいものが必要というのはどのような理由からでしょうか?理由によってはアコーディオンの機能追加等でも対応できるのではないかなぁと。
♥ 0Who liked: No user自動スライドのとき、→をクリックした時は戻りますが、右方向のスワイプだと戻らないですね…
♥ 0Who liked: No userなるほど! 理解しました。3つの要因があって、全幅にするのはそのうちの1つです。
1つはヒーローヘッダーブロックのそもそもの考え方の部分になるのですが、ヒーローヘッダーブロックは CSS のグリッドレイアウトというものを使っていて、要は描画エリアをグリッドで区切ってそのグリッドにそって画像やコンテンツを配置するという仕組みになっています。セクション(背景画像/動画)ブロックだと、背景画像・動画は本当の意味で背景で、コンテンツが少ないと縮小されるし、コンテンツが多いと拡大されます。でもヒーローヘッダーの背景画像はグリッドにそって配置されるようになっているので、グリッドの指定や画像のアスペクト比も尊重されるようになっています。なのでコンテンツの量によっては背景画像の大きさが不足して今回のような見た目になってしまいます。
2つ目は背景画像のアスペクト比の設定です。デフォルトだと 16/9になっているので、コンテンツ量が多くて16/9に収まらないと今回のような見た目になってしまいます。
とうことで、セクション(背景画像/動画)ブロックの背景画像・動画みたいにコンテンツ量にあわせて拡大縮小される設定があっても良いかもですね。とりえあずは CSS で対応しておいてもらうのが良いかもです。下記は例ですが、全部のヒーローヘッダーに影響がでちゃうので、実運用では適当な CSS クラスを付与してセレクタを調整してください。
.smb-hero-header__figure { position: absolute; inset: 0; aspect-ratio: auto; }
つまり、現状だと一番右までいったら左までギュンと戻るのではなくて、ずっと右にループで進み続けられるようにしたいということですよね? Snow Monkey Blocks のスライダーは
translateX
とかで擬似的にスクロールっぽく見せているわけではなくて本当にスクロールさせている + なるべく js で DOM をいじらないという方針でやっているのでループではなく現状の試用となっています。ループが必要であれば別なスライダーのプラグインを使う必要がありますね…。♥ 0Who liked: No userv20.3.3 にするとどうでしょう!?
♥ 0Who liked: No userちなみに、矢印の色は変えられないのでしょうか?追加Cssですか?
ですね、現状は設定が無いのでそうなります。下記のような感じです。
.smb-spider-slider { --spider--arrow-color: blue; }
♥ 0Who liked: No userSnow Monkey Forms v5.1.0 で、各フォーム項目の設定パネルから設定できるようにしてみました。
アップデートして確認してみてください!
♥ 0Who liked: No userこんな感じでどうですかね?
add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } $new_terms = array(); $terms = get_the_terms( get_the_ID(), 'category' ); foreach ( $terms as $term ) { $term_ids = get_ancestors( $term->term_id, 'category', 'taxonomy' ); krsort( $term_ids ); // チェックしたカテゴリーと先祖のカテゴリー情報をカテゴリーラベルとして使用 foreach ( $term_ids as $term_id ) { $new_terms[ $term_id ] = get_term( $term_id, 'category' ); } $new_terms[ $term->term_id ] = $term; } $args['vars']['_terms'] = $new_terms; return $args; } );
末端カテゴリーのみにチェックを変える事も可能です。
末端カテゴリーのみにチェックした場合の想定でコードを書いてみました。
add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } $terms = get_the_terms( get_the_ID(), 'category' ); if ( $terms ) { // チェックしたカテゴリーを元にその先祖カテゴリーを取得 $term = $terms[0]; $term_ids = get_ancestors( $term->term_id, 'category', 'taxonomy' ); // チェックしたカテゴリーと先祖のカテゴリー情報をカテゴリーラベルとして使用 $new_terms = array(); foreach ( $term_ids as $term_id ) { $new_terms[] = get_term( $term_id, 'category' ); } krsort( $new_terms ); $new_terms[] = $term; $args['vars']['_terms'] = $new_terms; } return $args; } );
下記のパターンの下の方でコンテンツスライダーを矢印付きで使っているので(表示されていますよね?)、もし表示されないのであれば中身のコンテンツの
z-index
が影響しているとか、独自に追加されている CSS が影響している可能性があります。「スライダーをずらす」はスライダー自体が全幅か幅広でないとそもそも機能しないのと、ページの端か端までスライドさせる機能であるため、入れこの場合は親ブロックについても全幅状態になっている必要があります。
実際のページを見せてもらえれば、もっと具体的にアドバイスできると思いますので、可能であれば URL を教えてください!
♥ 0Who liked: No user -
投稿者投稿