-
投稿者検索結果
-
2024年10月1日 4:21 PM #141987
返信が含まれるトピック: ピックアップスライダーの表示比率を16:9にしたい
最新ということは
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; }2024年10月1日 12:12 PM #141979返信が含まれるトピック: ピックアップスライダーの表示比率を16:9にしたい
2024年10月1日 12:10 PM #141978https://snow-monkey.2inc.org/2024/09/28/snow-monkey-blocks-v22-2-0/
アップデート情報を確認しました!
思った通りに動作して大変満足しております!トピックを閉じさせていただきますね。ありがとうございました。
2024年9月30日 12:58 PM #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クラスをつけてスムーススクロールさせればヘッダー位置を考慮してスクロールしてくれるのかもしれませんが、スムーススクロールになっちゃうのと、そもそもタブを開く機能と干渉して効かなかったりしないかな…みたいな…。と、色々気になるのですが、ひとまず調査してみます…。
2024年9月30日 12:35 PM #141960返信が含まれるトピック: トップページをテーマ化、下層ページをスノーモンキーのブロックエディターで作りたい
plugins/my-snow-monkey/viewの中が子テーマと同じ感じになるので、plugins/my-snow-monkey/view/header.php、plugins/my-snow-monkey/view/footer.phpをつくれば上書きできます。♥ 0Who liked: No user2024年9月30日 12:33 PM #141959返信が含まれるトピック: アコーディオンブロックのタイトルにh2を付ける方法
あーほんとですね…。僕が 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日 9:01 PM #141940大変失礼いたしました。リリース記事を参考にIDを設定するとIDは固定化されました。
タブパネルブロックに任意の ID(HTML アンカー)を指定することもできるようになりました。例えば tab-a という HTML アンカーを入力したとすると、タブパネルの ID は tab-a となり、そのタブパネルのためのタブ(ボタン)には smb-tab-for-tab-a という ID がつきます。(https://snow-monkey.2inc.org/2024/09/28/snow-monkey-blocks-v22-2-0/)
しかし、一度リンクを開き、移動先のページ内のタブのリンクをクリックすると動作しなくなってしまいます。
ID のタブが開いた状態 + そのタブの位置までページがスクロールされた状態でページが開かせたいのですが動作しません。ヘッダーに設置したタブリンク

- https://tarcoon.me/jp/shop/#smb-tab-for-ShoP-1
- https://tarcoon.me/jp/shop/#smb-tab-for-ShoP-2
- https://tarcoon.me/jp/shop/#smb-tab-for-ShoP-3
フッターに設置したタブリンク

- https://tarcoon.me/jp/info/contact/#smb-tab-for-ConTact-1
- https://tarcoon.me/jp/info/contact/#smb-tab-for-ConTact-2
- https://tarcoon.me/jp/info/contact/#smb-tab-for-ConTact-3
- https://tarcoon.me/jp/info/contact/#smb-tab-for-ConTact-4
- https://tarcoon.me/jp/info/contact/#smb-tab-for-ConTact-5
♥ 0Who liked: No user2024年9月29日 2:21 AM #1419382024年9月28日 10:20 PM #141936返信が含まれるトピック: コンテンツスライダーブロックで要素全体にリンクを貼るとクリックが効かなくなる
2024年9月28日 5:34 PM #141933返信が含まれるトピック: コンテンツスライダーブロックで要素全体にリンクを貼るとクリックが効かなくなる
お忙しいところご返信いただきましてありがとうございます!
早速いただいたコードで試してみましたが、同様にリンクが開かない場合がありました。
Macで、ChromeとSafariで試しています。
・スマホでは開くことができることの方が多いが、たまにタップしてもリンクが開かない場合がある
・パソコンではMagic Mouseを使っているが、有線マウスに変えたところ、「リンクが開かない」の頻度が下がった何度も検証した結果、「クリックしながら少しでも横スクロールさせてしまうとリンクが開かない」ということがわかりました。意識して「さっ」とクリックした場合は100%開きません。
要素の上でマウスを静止して、2秒ほど数えてからクリックするとリンクが開きます。
スマホでのタップも、画面を静止してから真上からポンと押すと確実にリンクが開きます。MagicMouseの場合、繊細な動作を読み取るので、自分のクリックの仕方が悪いのか、普通にクリックしているつもりでも90%くらい1回目のクリックで開かずストレスを感じていました。
普通の有線マウスの場合は、20%ぐらいの確率で開きません。CSSのみで横スクロールをさせているコンテンツでは問題なくリンクが開くのですが、Snowmonkeyのコンテンツスライダーのみこの現象が起こってしまいます。
これは仕様上仕方がないでしょうか?♥ 0Who liked: No user2024年9月28日 4:33 PM #141932返信が含まれるトピック: [SnowMonkeyForms] 住所の自動入力時に都道府県のセレクトボックスも変わるようにしたい
2024年9月28日 4:14 PM #141931返信が含まれるトピック: 既存のパンくずの機能をアーカイブなどのループの中で各投稿に利用する方法
調査してみたところ、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 user2024年9月28日 4:01 PM #141930返信が含まれるトピック: [SnowMonkeyForms] 住所の自動入力時に都道府県のセレクトボックスも変わるようにしたい
2024年9月28日 3:07 PM #141929返信が含まれるトピック: コンテンツスライダーブロックで要素全体にリンクを貼るとクリックが効かなくなる
こちらの環境では、一応下記の 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; }2024年9月28日 2:41 PM #141927返信が含まれるトピック: アコーディオンブロックのタイトルにh2を付ける方法
書いてみました!WordPress の HTML API で書き換えられるのは属性だけでタグは書き換えられなかったので、PHP の DOMDocument と DOMXPath を使ってみました。
add_filter( 'render_block_snow-monkey-blocks/accordion-item', function( $block_content ) { $doc = new \DOMDocument; $doc->loadXML( $block_content ); $xpath = new \DOMXPath( $doc ); $divsToReplace = $xpath->query( "//div[contains(@class, 'smb-accordion__item__title')]" ); foreach ( $divsToReplace as $div ) { $h2 = $doc->createElement( 'h2', $div->nodeValue ); foreach ( $div->attributes as $attr ) { $h2->setAttribute( $attr->name, $attr->value ); } $div->parentNode->replaceChild( $h2, $div ); } return $doc->saveXML(); } );render_block_{ブロック名}フックが実行されるのはフロントだけで、エディター上では下記変わらないのでご注意ください。 -
投稿者検索結果
