フォーラムへの返信
-
投稿者投稿
-
そうなんですよ!これ僕も Snow Monkey Blocks みたいにしたほうが絶対に良いと思ってるんですけど、コアがそうなってないんですよね。影つけたとして、それはポップオーバーを開かないとわからない、みたいな。unitone は UI をなるべくコアに合わせているから、一応今はコアに合わせて形になっているという感じです。
なのでねー、どうしましょう…。
♥ 0いいねをした人: いませんやっぱり PC とモバイルで同じメニューを使い回す(CSS でなんとか頑張って見た目を変えている)というのに無理があるなーとは思うんですよね…。別々のものが割り当てられるようになってくれれば良いのですが…。
時間があるときに、なんとかできないかもう一回見直してみます。
♥ 0いいねをした人: いませんそうなんですよ…。
Snow Monkey は PC 用のグローバルナビゲーションとモバイル用のドロワーナビゲーションに別々の HTML が出力されるようになっているのですが、unitone はブロックテーマの仕様に従う形で、PC もモバイルも1つの HTML が使われるようになっています。
本当は Snow Monkey のような形にするのが理想なのですが、1つの HTML を使う都合上、トグルボタンを追加したりそれによる開閉処理をモバイルだけできれいにやるのが難しくて今の形になっています。
うまい方法があるなら僕もデフォルトの挙動を Snow Monkey のようにしたいのですが…。
♥ 0いいねをした人: いませんv13.1.1 で20秒に変更しました!
♥ 0いいねをした人: いませんなるほど…。
未確認ですが、エディターをビジュアルモードからテキストモードに切り替えて、
"speed": "10"
となっているところを"speed": "20"
に変えて保存するといけるかもしれません。ただ、UI が10
までしか対応していないので、ビジュアルモードに戻したときにスライダーブロックを選択してしまうと元にもどっちゃうかもです。あとでアップデートして、20秒まで指定できるようにしてみます。
♥ 0いいねをした人: いませんv13.1.0 で修正を入れました!
♥ 0いいねをした人: いませんあ、なるほどです。サイト全体の「追加 CSS」を想定していました。
ブロックごとの追加 CSS に追加すると、そのブロックのセレクタが補完されちゃうんですよね。
とりあえず、アップデートまではそれでしのいでください!♥ 0いいねをした人: いません確認したところ、
z-index: 1;
が追加されていないっぽいです(今は消してますか?)。また、
.custom-hover-block
が指定されたブロックもそのページ上には無さそうな気がします。デベロッパーツールで追加したところ、クリックできるようになりました。
※マウスカーソルがスクショできなかったので、クリック範囲がわかりやすいようにbackground: red
を指定しました。♥ 0いいねをした人: いませんページを拝見したところ、
.wp-block-cover .wp-block-cover__background
がz-index: 1
になっており(WordPRess コアの CSS)、デコレーターのリンクよりも階層が上になってしまうためにリンクが効かなくなってしまっているようでした。これまで効いていて最近効かなくなったのであれば、最近のコアアップデートでカバーブロックの CSS に変更が入ったのだと思います。
ひとまず、下記の CSS を「追加 CSS」に追加してみてもらえないでしょうか? おそらく一時しのぎできるかと!
[data-unitone-layout~=decorator__link]::before { z-index: 1; }
unitone に修正を入れようと思いますが、上記の CSS で良いのか、他にもっと良い方法があるか調べてみようと思います。
♥ 0いいねをした人: いませんこれは僕も常々思っていたのですが、実装がそこそこ手間で後回しにしてしまっていました^^;
とりあえず、忘れないように開発リストには入れておこうと思います…!♥ 0いいねをした人: いません確かにリロードしたら再発しました…。で、色々調査したところ、原因がわかりました!
wp_options
テーブルの型が原因でした。これが通常の
wp_options
テーブルの構造です。option_value
が設定値が保存される場所で、その型がlongtext
となっているのがわかると思います。そしてこれが共有いただいたサイトの
wp_options
テーブルの構造です。option_value
の型がtext
になっています。text
だと保存できる設定値の大きさに制限があるため、パターンのデータが全て保存できず途中で切れてしまい、実行時に復元できない、という状態だったようです。どういう経緯でtext
型になってしまったのかはわかりませんが、phpMyAdmin
等のデータベースを触れるツールで型を変更してしまえば正しく動作するようになると思います。※ちなみにこのスクショは Local に入っている AdminerEvo のものです。Local であればそれで型が変更できます。
♥ 0いいねをした人: いませんデータ確認しました、ありがとうございます!
調査したところ、シリアライズされたパターンのデータが保存されているところまでは予想通りだったのですが、そのシリアライズされたデータが不完全な状態で保存されていたため、
maybe_unserialize()
でも復元できなかったようです。本来は「ダッシュボード → 外観 → unitone セットアップ → パターンライブラリーからパターンを再取得する」からパターンのデータを再取得できるのですが、上記不具合のためにエラーがでて再取得できないため、コードを書いて保存しているパターンのデータを一度消して頂く必要があります。
themes/unitone/inc/remote-block-patterns.php
の$transient = get_transient( 'unitone-remote-patterns' );
の上の行に
delete_transient( 'unitone-remote-patterns' );
を追加してください。そしてリロードしてエラーがでないことを確認したら追加したコードを消してください。その後「ダッシュボード → 外観 → unitone セットアップ」を開き、「パターンライブラリーからパターンを再取得する」で最新のパターンデータに更新してみてください。
不正なデータが保存されそうになったときは保存しないように、unitone のほうのコードも修正したいと思います。
以上、ご確認よろしくお願い致します!
♥ 0いいねをした人: いませんよろしくお願いします!!
♥ 0いいねをした人: いませんoh…
となるとあとは実際にそのデータを云々して調査してみないとわからないのかなと…。
ということで、もし可能であれば次のいずれかをお願いしたいです!1. All-in-One WP Migration のデータを提供いただく
2.var_dump( esc_html( $remote_block_patterns ) );
を追加していただき、出力された文字列を共有していただく(1)が確実性は高いと思うのですが、セキュリティ等の関係で難しい場合もあると思うので、その場合は(2)のデータを頂ければこちらの環境で擬似的に調査できるかなと考えています。もし(1)が可能な場合はオンラインコミュニティ(Discord)の DM でデータを頂ければと思います。
ご検討よろしくお願いします!
♥ 0いいねをした人: いませんありがとうございます! なぜかパターンのデータがシリアライズされているみたいですね…。
こちらで意図した挙動では無いので、例えば何らかのプラグインがなんらかの条件でデータをシリアライズしているとか、僕が使っているコアの関数が何らかの条件で内部でシリアライズしているとか、そういうのがあるのかもしれません。
こちらで状況が再現できていないため根本的な解決が難しいのですが、一時的な対策として、下記を試してみてほしいです。
また
foreach ( $remote_block_patterns as $pattern ) {
の上の行に、下記を追加してみてください!$remote_block_patterns = maybe_unserialize( $remote_block_patterns );
もしエラーメッセージがでたら、どういうメッセージがでたか教えてください。
♥ 0いいねをした人: いません -
投稿者投稿