WordPressのFES対応をテーマを作りながら学んでみる

https://megane-blog.com/ 用のWordPressテーマを作ります。
5
めがね 大串肇 @ 👓 @megane9988

というわけで、年末なので自分のブログのテーマを作り変えるべく、今回はFSEのテーマを作ってみようと思います。 開発用リポジトリはこちら。この投稿にずーっと続けて投稿しようと思います。 うまくできるといいなー。 ちな、FSE対応テーマは初めて作ります。 github.com/megane9988/fse…

2021-12-28 10:18:37
めがね 大串肇 @ 👓 @megane9988

とりあえずLocalでWordPress環境を作りました。 便利ですよね。最近は殆どこちらを利用しています。 localwp.com

2021-12-28 10:20:16
めがね 大串肇 @ 👓 @megane9988

ちなみに、MacOS BigSurの環境で、SSL証明書をとるには、こちらを参考にします。キーチェーンのアプリの中で信頼をしないとSSL証明書がうまく取得されません。セキュリティー的なあれっぽいですね。 localwp.com/help-docs/ssl/…

2021-12-28 10:21:16
めがね 大串肇 @ 👓 @megane9988

とりあえずデータがないと、うまくテーマが作れているか確認しづらいのでテーマユニットテストデータをインポートします。 wpdocs.osdn.jp/%E3%83%86%E3%8…

2021-12-28 10:25:20
めがね 大串肇 @ 👓 @megane9988

つづいて、wp-config.php で WP_DBUGをtrueにします。 エラーが出ると思うので、教えてくれるのありがたいですね。 ja.wordpress.org/support/articl… それぞれドキュメントがあるの本当に助かりますね。ありがたい。

2021-12-28 10:26:36
めがね 大串肇 @ 👓 @megane9988

ここからは、本当にドキュメント見ながらすすめます。 先にちょっと調べたのですが、すでにハンドブックが日本語に翻訳されている!! ありがたい。 ja.wordpress.org/team/handbook/…

2021-12-28 10:28:45
めがね 大串肇 @ 👓 @megane9988

> empty-theme.php スクリプトを使用してください。実行し、いくつかの質問に答えると、テーマを作成できます。 ほー、そういうのもあるのか。とりあえずこれをやってみよう。 ja.wordpress.org/team/handbook/…

2021-12-28 10:31:08
めがね 大串肇 @ 👓 @megane9988

対話式で、テーマ名とか、著者とか聞かれて、テーマが出来上がったぽい pic.twitter.com/9IrTkccSKN

2021-12-28 10:33:27
拡大
めがね 大串肇 @ 👓 @megane9988

おーできてる。 とりあえずシンプルに作ってもらっているようだから、これをそのまま使うことにしてみよう。ありがたいなー pic.twitter.com/mkkDNLpYIz

2021-12-28 10:34:59
拡大
めがね 大串肇 @ 👓 @megane9988

こっからは、ブロックテーマ作成のページを確認してすすめます。 ja.wordpress.org/team/handbook/…

2021-12-28 10:36:00
めがね 大串肇 @ 👓 @megane9988

ちなみに雛形として追加されたのはこのあたり github.com/megane9988/fse…

2021-12-28 10:37:05
めがね 大串肇 @ 👓 @megane9988

そしてテーマを有効化したら出来た。というか出来てた。 じゃあ、これでいいか。という感じもするけど。もうちょっといろいろ理解を深めてみよう。 雛形すごいな pic.twitter.com/D230645XEL

2021-12-28 10:45:13
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

とりあえず、雛形にはfooter.htmlが無いっぽいので、それを追加してみよう。わざと無い気さえする。そうだったら余計にすごいけど、多分考えすぎかな footer.htmlをheader.htmlと同じところに入れて、index.htmlの最後にそれっぽいものを上のheader読み込みを真似して入れてみた。 pic.twitter.com/qzF1pv5225

2021-12-28 10:53:30
拡大
めがね 大串肇 @ 👓 @megane9988

footerが出ない上に、サイト編集に言ったらエラー出てたww やっぱ、何も見ずやってもだめだww pic.twitter.com/MjpVwgJLup

2021-12-28 10:54:44
拡大
めがね 大串肇 @ 👓 @megane9988

エラーを見るにブロックとして認識されないとだめっぽいので、一旦投稿画面でフッターぽいものを作ってコピーする。これでeditorに貼り付ければブロックを示す、コメントが入るのでこれで、認識されるはず pic.twitter.com/HTcA2eV5z7

2021-12-28 10:58:07
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

よし、出たでた。いや良しじゃない。ちゃんとドキュメントを見るんだ。適当にやるんじゃない。いつもそうやって雰囲気ですすめるからあとで、なんか詰まるんだ。と自戒してみるが、どうだろうか pic.twitter.com/TGpg1qeUkT

2021-12-28 10:59:43
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

> テンプレートパーツはデフォルトで <div> タグを使用します。tagName 属性を追加して、HTML 要素を <header> と <footer> に変更してください。 なるほど、さっきのtagNameが無いとdiv。そこにタグ名を入れるとそのタグで囲まれると。なるほど

2021-12-28 11:02:51
めがね 大串肇 @ 👓 @megane9988

> 正しいブロックマークアップが何か分からない場合は、ブロックエディターでブロックを追加し、コードエディターモードにしてからブロックマークアップをテーマファイルにコピーします。 あってた。先にエディタでつくってからコピペは良いようだ。

2021-12-28 11:04:10
めがね 大串肇 @ 👓 @megane9988

あー、当然だけどFull Site Editingだから管理画面からフッター作れるのか。 コピペでeditorに貼り付けて、万能感を得ていた私、反省しときなさい。 でもこれだと、複数のヘッダーやフッターを作った場合にどうやって条件分岐するのか。いやそもそも2つ以上ヘッダーとかあることがすくないか。 pic.twitter.com/fkIK82njhI

2021-12-28 11:11:42
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

なるほど、 theme.jsonの中で、それらを選べるのか。なるほどなー。いかん、ちょっと飛ばしてしまったので、一旦戻ろう ja.wordpress.org/team/handbook/… pic.twitter.com/umRnTsrLkg

2021-12-28 11:12:54
拡大
めがね 大串肇 @ 👓 @megane9988

おー、ブロックエディターで作ったテンプレートがまるごとエクスポートできる。これでgit管理もできる。ということは、いままでeditor(VSCode的なのね)でやってた作業もブロックエディターでやって、最後にエクスポートして一応管理みたいな流れになるのかー。へー。へー。 ja.wordpress.org/team/handbook/… pic.twitter.com/3xRJnSq3AF

2021-12-28 11:17:46
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

アーカイブは、とりあえずindex.htmlに クエリーループブロック入れて、その中でいろいろしゅとくすると。そしてそれがそのまま、テンプレートファイルにもなると。 これは、これまでのテンプレート階層と、メインクエリーをループで取得する知識とのあわせ技ですね。 pic.twitter.com/9EDmdED4ON

2021-12-28 11:25:42
拡大
拡大
めがね 大串肇 @ 👓 @megane9988

こうなると、ループの中でうまく情報を取得するカスタムブロックが必要そうかな。あと出力するときにマークアップを変える技術が必要そう。ブロックを作れないと、思うようにはできなそうかなー。そういうブロックを探すほうが早いような気もする。

2021-12-28 11:27:03
めがね 大串肇 @ 👓 @megane9988

あと、あれですね。ひとまずクエリーループブロックをちゃんと使えるようにならないと。そもそも、その理解が必要そう

2021-12-28 11:28:05
めがね 大串肇 @ 👓 @megane9988

一応テンプレートに直接HTMLなどを書ける。このほうが楽ー!と思いますが。こうすると、サイトエディター側でエラーになって、操作できなくなる。近い将来、テンプレートにベタ書きで、ブロックエディターから操作できないテーマは大変。みたいな話が出てきそうですね。 pic.twitter.com/Kl6XMRcC5Q

2021-12-28 11:32:40
拡大