フォーラムへの返信
-
投稿者投稿
-
あ、ちなみにですが、他の絞り込み検索プラグインを使ったことがないのでもしご存じでしたら教えてください!
他の絞り込み検索プラグインで固定ページに検索フォームを設置したときって、検索ボタンを押して表示されるページはその固定ページなのでしょうか?それとも別 URL の検索結果ページや絞り込まれたアーカイブページ?
山田さん的にはどうだったら良いとかでも良いので教えてください!
♥ 0Who liked: No userそうなんです、現時点ではできないんです>< 要望としてはあがっていて、開発リストにも入れているのですが、ちょっと現時点ではいつ着手できるかわからないです…。
♥ 0Who liked: No userすみませんが、Snow Monkey Blocks のスライダーには無限ループの機能がありません。別のスライダープラグインを使うか、なにかスライダーの js ライブラリを独自に enqueue してスライダーを作るかになりますね…。
♥ 0Who liked: No userセクションブロックのタイトルの
::after
は、テーマ側の CSS でdisplay: none
になっているので、display: block !important
すると良い気がします。h3.smb-section__title::after { display: block !important; }
♥ 0Who liked: No user最新ということは
Snow Monkey v27.2.2
Snow Monkey Blocks v22.2.1ですかね。
現状、
.smb-spider-pickup-slider .spider__canvas
のmin-height
が指定されていて最低限の高さが決まっているので、まずはそれを無効にする必要があります。その上で、height
を追加してガチガチに固定してしまうとか、aspect-ratio
で固定してしまうとかかなぁと。.smb-spider-pickup-slider .spider__canvas { min-height: auto !important; aspect-ratio: 16 / 9; }
動作することを確認できたらトピックのクローズをお願いします!
♥ 0Who liked: No user2024年9月30日 3:03 PM 返信先: Snow Monkey Blocksの「タブ」ブロックにHTMLアンカーをつけたい!高度な設定に[HTMLアンカー]の項目を追加して欲しいです。 #141970Snow Monkey Blocks v22.2.1 で、
https://〜
ではじまるアンカーリンクの場合でも、現在のページ上のタブが開くように変更しました!v22.2.1 にアップデートして確認してみてください。またその際にタブブロックの位置までスクロールしたいという点については Snow Monkey のスムーススクロール機能が使えることを確認しました。v22.2.1 にアップデートした後に、タブへのアンカーリンクに
u-smooth-scroll
というクラス名を追加してみてください。(メニューの場合は、そのメニュー項目の設定パネルにある「CSS class」に入力してください)♥ 0Who liked: No user2024年9月30日 12:58 PM 返信先: Snow Monkey Blocksの「タブ」ブロックにHTMLアンカーをつけたい!高度な設定に[HTMLアンカー]の項目を追加して欲しいです。 #141961あーなるほど、これちょっと難しい問題ですね…。
お知らせ記事にかいたように、2つの状況でタブが開く機能を追加しました。
1. タブの ID を指定したアンカーリンクからページを開いたとき
2. タブの ID を指定したページ内リンクをクリックしたときタブブロックが設置されているページ「以外」から、
https://example.com/#smb-tab-for-{タブのID}
へのリンクをクリックすると、そのタブブロックの位置までページがスクロールし、タブが開きます。このとき、「タブブロックの位置までページがスクロール」は「Snow Monkey テーマ」の機能で実施され、「タブが開く」は「Snow Monkey Blocks」の機能で実行されています。そして、その状態で
https://example.com/#smb-tab-for-{他のタブのID}
をクリックしたら、そのタブに切り替わってほしいということですよね。それは上記に書いた「タブの ID を指定したページ内リンクをクリックしたとき」に該当すると思うのですが、現状だと、この機能は<a href="#smb-tab-for-{他のタブのID}">
、つまり URL を含まずにアンカーだけが指定されたリンクにしか反応しないようになっているため、https://example.com/#smb-tab-for-{他のタブのID}
というリンクだと機能しないんです。で、そこを
https://example.com/#smb-tab-for-{他のタブのID}
というリンクでも開くようにするのはまぁなんとかできるかも?という気がするのですが(未検証・未開発)、スクロールがどうかなぁという感じです。「「タブブロックの位置までページがスクロール」は「Snow Monkey テーマ」の機能で実施され」と書きましたが、これはページが開いた瞬間のときに実行されるので、すでに開いているときは実行されないんですよね。シンプルに HTML の機能としてアンカーリンクで移動させるようにする(※現在のタブ操作では無効化している)のはできはするのですが、そうすると Snow Monkey のヘッダーがオーバーレイとかになっているときにそれが考慮されずに重なってしまいます。だからリンクに
u-smooth-scroll
クラスをつけてスムーススクロールさせればヘッダー位置を考慮してスクロールしてくれるのかもしれませんが、スムーススクロールになっちゃうのと、そもそもタブを開く機能と干渉して効かなかったりしないかな…みたいな…。と、色々気になるのですが、ひとまず調査してみます…。
plugins/my-snow-monkey/view
の中が子テーマと同じ感じになるので、plugins/my-snow-monkey/view/header.php
、plugins/my-snow-monkey/view/footer.php
をつくれば上書きできます。♥ 0Who liked: No userあーほんとですね…。僕が DOMDocument に詳しくなく、入れ子を維持したままタグの置換をおこなう方法がよくわからなかったので、
preg_replace()
を使ってspan.smb-accordion__item__title__label
をh2.smb-accordion__item__title__label
に置換するコードを書いてみました。入れ子の深いところをh2
に置換するので HTML にこれで良いのかよくわかりませんが、とりあえず置換はうまくいきました。add_filter( 'render_block_snow-monkey-blocks/accordion-item', function( $block_content ) { return preg_replace( '|<span class="smb-accordion__item__title__label">(.+?)</span>|ms', '<h2 class="smb-accordion__item__title__label">$1</h2>', $block_content ); } );
ただ、Snow Monkey Blocks のアップデート等により、クラス名が変わったり
span
に属性が追加されたりすると、この置換処理は効かなくなるので、その点はご注意ください。2024年9月29日 7:20 AM 返信先: Snow Monkey Blocksの「タブ」ブロックにHTMLアンカーをつけたい!高度な設定に[HTMLアンカー]の項目を追加して欲しいです。 #141946あ!そうでした!これコアが自動生成する物を使ってから、特定のタイミングで変わっちゃうんです。タブパネルブロックの高度な設定のところでアンカーを設定するとそれが固定的に使われるようになるので、アンカーを設定してみてください!
♥ 0Who liked: No user調査してみたところ、2つの要因がありました。
1つ目は、Snow Monkey のパンくずはページのクエリを参照してリストを生成しているということです。例えば、詳細ページ用のリストはページが
is_single()
のときに生成され、アーカイブページ用のリストはページがis_archive()
のときに生成されます。ループの中だとしてもページのクエリはis_arhive()
がtrue
になるので、アーカイブページ用のリストが出力されてしまう、ということになります。2つ目は、Snow Monkey のパンくずは一度生成したリストをキャッシュするようになっているので、↑の対策をしたとしてもキャッシュされたパンくずを出力してしまうために同じリストが繰り返し表示されてしまうということです。
上記2つに対して対策してみたコードが下記になります。
/** * ループのメタ情報部分にパンくずを追加する。 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html ) { query_posts( array( 'p' => get_the_ID() ) ); // これが重要。クエリを記事用に再生成する。 ob_start(); \Framework\Helper::get_template_part( 'template-parts/common/breadcrumbs' ); $breadcrumbs = ob_get_clean(); wp_reset_query(); // クエリをもとに戻す return $html . $breadcrumbs; } ); /** * パンくずを都度生成するようにする。 */ add_filter( 'snow_monkey_get_template_part_args_template-parts/common/breadcrumbs', function( $args ) { $breadcrumbs = new \Inc2734\WP_Breadcrumbs\Bootstrap(); $breadcrumbs_items = $breadcrumbs->get(); // $breadcrumbs_items = apply_filters( 'snow_monkey_breadcrumbs', $breadcrumbs_items ); // 必要ならコメントアウト $args['vars']['_items'] = $breadcrumbs_items; return $args; } );
なんとなくあんまりきれいな処理ではない気がするので、気になるようなら自作したほうが良いかもしれません…。
♥ 0Who liked: No userこちらの環境では、一応下記の CSS でクリックできることを確認しました。(Mac Chrome)
.contents-slider-link { position: relative!important; } .contents-slider-link * { /* セレクタは要調整 */ position: static; } .contents-slider-link p.contents-slider-link-url { position: absolute!important; top:0!important; left: 0!important; width: 100%!important; height: 100%!important; z-index:999!important; } .contents-slider-link a { background: red; /* リンクが広がっているか確認しやすくするため用 */ position: absolute!important; top:0!important; left: 0!important; width: 100%!important; height: 100%!important; z-index:999!important; text-indent: 100%; white-space: nowrap; overflow: hidden; }
-
投稿者投稿