カスタムテンプレートひとつのみ作成でとりあえず対応
2023-11-12 記載
概要 : WordPressのテンプレートを編集する(twentytwentyfour)
Keyword : WordPress, twentytwentyfour,

子テーマのtemplateにindex.htmlだけを置いても、親テーマのtemplateが優先順位に従って用いられるので、必要最小限のtemplateだけを作成する方針だと親テーマのtemplateが邪魔です。
消してもテーマを更新したら再配置されるだろうし、テーマ更新のたびに削除するのもスマートとはいえません。
ということでカスタムtemplateをひとつ作って、すべての投稿・固定ページでそれを使うことにしました。他にスマートな方法がありそうな気がしますが、それに気づくまでは。
x24-index.html
をtemplateで新規作成。x24はtwentytwentyfourから。
フロントページで、homeとblogを、テンプレート:x24-indexで作成。
homeのコンテンツは「最新の投稿」で3並びのアイキャッチ付き。
[設定]の[表示設定]で、[固定ページ (以下で選択)]に切り替えて、homeをホームページ、blogを投稿ページに設定しました。
これまでに作成した投稿はすべてテンプレートがデフォルトだったので、切り替えます。SQLで一括を図ります。
※ほかにページを作っているかたはWHEREをもっと絞る必要があります
UPDATE wp_postmeta
SET meta_value='wp-custom-template-x24-index'
WHERE meta_key='_wp_page_template';
タイトルをコンテンツ内の先頭に埋め込むのもwp_postsへの一括更新SQLを発行。
UPDATE wp_posts
SET post_content=concat('<!-- wp:post-title {"level":3,"style":{"spacing":{"padding":{"top":"var:preset|spacing|20","bottom":"var:preset|spacing|20"}}}} /-->
', post_content)
WHERE post_status='publish' and post_type='post';
かなり強引(?)に形にしましたが、あとからどんなしっぺ返しがあるか、ですね。
パディング、マージンの設定はあとまわしです。
アーカイブから開くページが親templateを使っているのでそこも対応が必要です。
WordPressのデザインはこだわるつもりなくオーソドックスなレアイウトでいいわ,と思っているのですが、そのオーソドックスなスタイルにまとめるだけで、いろいろと苦労します。ブロック配置によるノーコード制作は、はたして本当にコトを簡単にしているのでしょうか。
とりあえず一段落。
家を新築しても、外回りは自分たちの手であとからぼちぼちと造ります、と言って、ずっとほったらかしの家をときどき見ますが、あぁなりそうな気もします。