Cocoonフォーラム

書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

Move To機能によるスタイル崩れの...
 
共有:
通知
すべてクリア

[解決済] Move To機能によるスタイル崩れの不具合

13 投稿
2 ユーザー
6 Likes
3,029 表示
ろこ
(@lococo)
Prominent Member Registered
結合: 5年前
投稿: 830
Topic starter  

Move To(キーボードでブロックを移動できるようにするための機能)を使用すると、Cocoonのスタイルが崩れます。

原因はgutenberg.js#L12で挿入するクラスが当機能によってリセットされるためです。

また、段落ブロックやグループブロックで用意されているスタイル設定の一部でもスタイル崩れが生じます。

https://wp-cocoon.com/community/postid/37451/

https://wp-cocoon.com/community/postid/37487/

https://wp-cocoon.com/community/postid/37508/


   
引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

すぐ内容を見れるように、書き込みを転載しておきます。
https://wp-cocoon.com/community/postid/37451/

添付画像は新しい機能である”Move To”を使用する前後の編集画面で、使用するとデザインが崩れます。

原因はgutenberg.js#L12で挿入するクラスが当機能によってリセットされるためです。


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

https://wp-cocoon.com/community/postid/37487/

現在は詳細設定から”Move To”を選択する必要がありますが、おそらく機能自体はまだ未完成で、最終的には一連の動作をショートカットキーで実現させ、キーボードのみでブロックを移動できるようにするのだと思います。


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

https://wp-cocoon.com/community/postid/37508/

”Move To”により、段落ブロックのスタイルオプションは廃止&グループブロックで統一し、スタイル指定をインナーコンテナ側に寄せた方がよさそうです。

コンポーネントを構成するマークアップの一番外側にあるタグは、余白等のアウトラインを決める程度に留める設計が好ましいということになるのかと。

(添付画像は上がCocoonのグループブロックや段落ブロックでスタイル設定時に”Move To”を選択した場合、下が私のグループブロックでスタイル設定時に”Move To”を選択した場合)


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 
投稿者:: @lococo

原因はgutenberg.js#L12で挿入するクラスが当機能によってリセットされるためです。

動作確認してみました。
これは、gutenberg.js#L12で挿入していた以下の部分が


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

移動メニューを選択することで以下のようなクラス名になってしまうんですね。どうしたものか…。
これはすぐには解決方法が思いつかないので、調べてみます。


   
返信引用
ろこ
(@lococo)
Prominent Member Registered
結合: 5年前
投稿: 830
Topic starter  

Gutenbergの少し前のバージョン(ver8.6~ver8.7あたり?)から初期状態でクラス名が追加できなくなり、ver9.0となった現在もCocoonでの動作確認等がきちんとできない状態です。

この仕様だと、JSで強制的にクラスを挿入すること自体があまり良くない方法なのかもしれません。

 

加えて、WordPress5.5の時点でも移動機能だけでなく、選択時にも同様の問題が生じています。

追加で分かった範囲の報告をまとめると、

  • (WordPress5.5)モード全般で不具合が生じている。
  • (WordPress5.6)初期状態でも不具合が生じることになる?

といった感じです。


   
mirutana reacted
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

今思いついたんですが、div.block-editor-writing-flowのclass名が変更されてしまうんだから、そのラップ要素のdiv.block-editor__typewriterにclassを割り当てるという方向でいけるのかなと思いました。
https://github.com/yhira/cocoon/commit/978513e993e2d918e03f31c917fdb9e9d85c7089
この方法だと、スタイル問題は起きないように思います。
この対処法の場合、他に不具合等ありますでしょうか。


   
返信引用
ろこ
(@lococo)
Prominent Member Registered
結合: 5年前
投稿: 830
Topic starter  

その方法は当トピックを立ち上げた頃に確認済みなのですが、数バージョン前からGutenberg側の実行タイミングが変わったらしく、div.block-editor-writing-flowより外側にある要素でも同様にクラス名が挿入されない状態になりました。

例えば、ビジュアルエディター⇒コードエディター⇒ビジュアルエディターと切り替えたときはDOMの再構築によりCocoonのgutenberg.jsも動作していることから、本件は現在JSの実行タイミングによる問題となっており、

JSで強制的にクラスを挿入すること自体があまり良くない方法なのかもしれません。

https://wp-cocoon.com/community/postid/39917/

と考えました。

Reactに対してReactを介さずにJSで操作しようとするのは、問題が複雑化しそうです。


   
mirutana reacted
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

そうだったんですね。
だとしたら、解決策は今のところ全然わかってません。
React側で、何かしら対応する手法が用意されているのでしょうか。


   
返信引用
ろこ
(@lococo)
Prominent Member Registered
結合: 5年前
投稿: 830
Topic starter  

ReactからDOMを操作することはできます。

クラス名を挿入したり、ルートコンテナ要素をラップする要素を追加したりなど、JS/JQueryでやっていたことは大抵できると思います。

今のようにReact外でJSを用いるのであれば、ReactからDOMの受け渡しを行い、その中に組み込む必要があります。

 

その他の方法としては、なるべくエディターとページ表示上とのスタイルを摺り合わせ、どうしても一致させられない部分だけ動的に出力(またはエディタースタイルに別途記述)するなどが考えられます。

 

ちなみに、Gutenbergのコードでクラス追加できるポイントがないか探しましたが、コードを読んだ範囲では現状用意されていないようでした。


   
返信引用
わいひら
(@yhira)
Illustrious Member Admin
結合: 5年前
投稿: 14137
 

ありがとうございます。
確認してみます。


   
返信引用
ろこ
(@lococo)
Prominent Member Registered
結合: 5年前
投稿: 830
Topic starter  

本トピックの不具合は、

WordPress 5.6アップデートに伴うエディター画面の不具合

と同じ内容なので、タイトル的にも上記のトピックに統合し、本トピックは閉じていただいて構いません。


   
返信引用
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

wpForoの解決済みリンク

また、有用な回答があった場合は「いいね!」もご活用ください。回答者の励みになります。

wpForoのいいねリンク

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました