1shiharatどうも!!この世でもっとも恨んでいるのは静電気。搭載される予定である新エディター「Gutenberg(グーテンベルグ)」。頭の片隅では問題を認識しているけれど、考えないようにしている...そんな方いらっしゃらないですか?楽しみ半分...怖さ半分...僕がそうです。Gutenbergのバージョンは1.8で検証しています。この記事に書いてあることは、ドキュメントを読めばほとんどわかります。英文が読める方はそちらを参照されることをおすすめします。Block」が開発されています。(グーテンベルグ)は、WordPressが5.0から搭載予定のこれまでのビジュアルエディタとは全く異なるブロック型の新しいエディタのプロジェクト名です。github上で開発が進められています。2017年02月04日なので、かれこれ10ヶ月かけて作られているんですね〜https://github.com/WordPress/gutenbergこんなイメージでの操作が可能となります。詳細はたくさん記事が書かれていますので、本記事では割愛します。ライセンス問題は結局どうなったの?WordPressはReactの採用を取りやめることに(追記アリ)こちらの記事にあるように、当初FacebookのオープンソースソフトウェアであるReactを利用して開発が行われていましたが、ライセンスに問題があり途中でライブラリを変更するという決断に至っていました。Reactを利用して開発が行われています。json等の型式で保存し、出力時に変換するという型式を取ることが多いかもしれませんが、互換性のことを考えるとそんなことできません。APIを利用して保存されます。その際に、すべてのブロックがHTMLとして保存されます。ブロックとしての情報を別に保存してはいません。HTMLコメントでブロックのメタ情報を管理あれれ〜?どこに保存しているかと思いきや、HTMLのコメントとして保存される仕様のようです。class="has-background">ここに背景付きテキストが入ります。ここに背景付きテキストが入ります。ここに背景付きテキストが入ります。ここに背景付きテキストが入ります。ここに背景付きテキストが入ります。ここに背景付きテキストが入ります。-->(PEGパーサを利用しているようです。)データベースへ保存されるのもシリアライズされたコメント付きのHTMLです。出力時にはブロックコメントは削除された状態で表示されます。HTMLブロックコメントがない場合は、すべてのコンテンツが従来のビジュアルエディタに反映された状態で表示されます。HTMLのブロックコメントが壊れている時の処理ブロックコメントが解析できない場合は、エラー文が表示され、従来のビジュアルエディタで開くことができます。これまでの記事もブロックに変換できる(完全ではない)完全ではないですが、これまでの記事もHTMLタグベースでブロックに変換できるようです。いうのは懸念点でした。カスタムフィールドはこれまでにWordPressに無くてはならない存在になっていますからね。保存の仕方も変わっており、画面のUI全体も変更となっているため、その影響は大きいはずです。APIを通じてカスタムフィールドを追加して検証しましたが、問題なく動作はしているようでした。等のプラグインは保存前にJavaScript等でごにょごにょしていたり、保存型式の問題もあってからか現状は正常に動作していませんでした。5.0リリースまでには対応してくれることでしょう。APIを利用した投稿記事データの保存とは別で送信を行い、カスタムフィールド箇所のHTMLのみ返ってくるような状態になっています。第7引数にオプションを渡すことで、強制的に従来のTinyMCEエディタを利用するようにすることができるようです。最終的な手段としてはこちらを設定する...ですね。https://github.com/WordPress/gutenberg/blob/master/docs/meta-box.mdカスタムフィールドをプラグインで管理されている方は要注意カスタムフィールドをプラグインで管理されている方や、自ら定義している場合でもあまり込み入ったことをしていると、何かしらの不具合が起きる可能性が高いかと思われます。開発途中ですし、リリースまでは日があるのでそれまでに何かしらの解決策が提供される可能性もありますが要注意です。ブロックからカスタムフィールドにアクセスできるAPIもありブロックの定義の仕方によって、カスタムフィールドにアクセスするためのAPIも用意されているようです。APIとはだいぶ概念が違ってきているので、使い所を選びそうな印象。(そこまで検証できてないです。)ちょこっとやってみた結果だと、きちんとカスタムフィールドに保存できていたので、今後はこちらを利用したカスタムフィールド系のプラグインも出てくるかもしれませんね。自作のブロックも作れるの?作れます。イメージとしては、これまでのTinyMCEにボタンをつけるようなAPIですね。Type結論さて、以上を踏まえて結論です。5.0更新時は入念なテストしたほうが良さそう。プラグインはどうなるか未知数。編集画面に対して何かしらのCSSやJavaScriptを読み込んでいる場合も、対応が必要になる可能性あり。既存コンテンツは基本的に影響なし。カスタムフィールドを利用している場合は要テスト。編集するか選べる状態が続くとは思うが、1記事に対して並行して編集を続けるのは避けた方が無難。TinyMCEの編集中にHTMLコメントが大変なことになる。テーマ側でも、初期状態で組み込まれているブロックに対するスタイル調整は必要。運用者のリテラシーによっては、かなり戸惑う可能性もあり。運用面での補佐的な準備が必要になる可能性大。既存コンテンツが崩れたり等はなさそうですが、プラグイン系は不安がつきまといます。5.0がリリースされても、しばらくは様子見したほうが良いかもしれません。Block」が開発されています。その名の通りブロックの再利用が可能となる機能です。して保存し挿入すると、サイト内で利用しているすべての同一ブロックに対して共通の変更が反映されます。CTAブロックや、アフィリエイトなどに便利そうな機能です。最後にGutenbergのドキュメントやコードを読みあさりましたが、やっぱりよく考えられてるな、と改めて感じました。WordPressの理念と、実際の設計・実装方法がちょうどいい〜感じで調和しています。関わることがそうそうないので、いろいろ勉強にもなりました。1shiharatこの記事が気に入ったら「いいね!」ブログを購読する更新時にプッシュ通知にてお知らせします。