サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2019年8月25日 00:23
タイムラインブロックのアイテム数を増やすと一番下に追加されていきますが、上や中間に追加したい時がありますので、順番を変更できるようにして欲しいです。
2019年8月25日 20:22
そのような動作をするブロックプラグインをご存知でしょうか?
よろしければ動作の参考にさせていただきたいので、そのプラグイン名を教えていただければと思います。
※実装できるかどうかは、参考コードがあればそれを見てやってみないと分かりません。
2019年8月25日 20:48
CocoonのタイムラインブロックはRangeControlで指定される数に合わせてInnerBlocksのtemplateを動的に増減させている形だと思うのですが、InnerBlocksのtemplateを動的に変更するためにはtemplateLockを'all'にする必要があります。
そして、templateLockを'all'にすると子ブロックは動かせない仕様になっています。
上や中間に追加したい時があります
一般的なブロックのように既存のブロックの間に追加したり、順番を入れ替えられるようにするには、RangeControlによるtemplate増減をなくし、templateLockをfalseにするしかないと思います。
2019年8月26日 14:44
一応、Gutenbergの設計が分かるコード部分も貼っておきます。
templateLock === 'all'
となっていないと、最初に当てはめられるtemplateで固定されてしまいます。
一方、
'all' !== templateLock
でないと、ブロックを動かしたり間に入れたりすることができなくなります。
withFilters( 'editor.BlockListBlock' )
フックがあるものの、最終的なブロックの挙動はapplyWithSelectとフィルターより後で決定されるため、カスタマイズで変更することもできません。
2019年8月26日 19:57
ありがとうございます!
RangeControlによるtemplate増減をなくし、templateLockをfalseにするしかないと思います。
ということは、レンジコントロールを使用しないで、別のコントロールを利用して、増減する仕組みを自前で書かなければならないということですよね?
ちょっと僕のプログラミング能力的に荷が重いかも…。
2019年8月29日 16:07
レンジコントロールを使用しないで、別のコントロールを利用して、増減する仕組みを自前で書かなければならないということですよね?
templateLockをfalseにすれば、templateはブロック追加時に設定されている初期値で固定されます。
そうなると、一般的なブロック追加のように子ブロックを1個ずつ手動で追加していく形になります。
もし、RangeControlによるtemplate増減のような機能を持たせたいのであれば、
例えば、テーブルブロックのように増減をコンポーネントベースにするとか、親ブロックから全子ブロックの情報を取得しつつ制御するとか…
何か別の方法で実装するしかありませんが、私自身そこまでは実装したことがないので具体的な提案はできません。
2019年8月29日 19:57
templateLockをfalseにして試してみたのですが、全くRangeControlが反応しなくなるんですね。
>kaoさん
だとした、やはり僕の能力からいって、先日書いた手本となるプラグインがないと多分難しいと思います。
というか、僕の場合見たとしても厳しいかも。
Topic starter
2019年9月8日 20:33
わいひら様、ロコ様ご検討いただき誠にありがとございます。
順番の変更昨日は無しで、一番上に追加することも難しいでしょうか?
2019年9月9日 20:18
そうだったとしても、自前で新たに仕組みを用意しないとできないと思います。
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。