FSEテーマ開発をするにあたって、静的なテンプレートファイルの変更が反映されないときの対処方法です。
テンプレートの内容が反映されない理由
WordPressのFSEテーマ開発をしていると、静的なテンプレートファイル(index.htmlやsingle.htmlなど)を変更してもページに反映されません。
これは、エディターから編集した際にwp_postsテーブルへ変更内容が登録されていることと、wp_postsテーブルにレコードがあれば静的なテンプレートファイルよりも優先して表示に使われることが原因です。
テンプレートの内容を反映するためのSQL
少々強引ですが、wp_postsのテンプレート情報を全部削除しています。
delete from wp_posts where post_title in (
'header' -- ご自身が追加したテンプレートパーツ名を指定
,'footer' -- ご自身が追加したテンプレートパーツ名を指定
,'インデックス'
,'固定ページ'
,'個別投稿'
,'404'
,'検索'
,'アーカイブ'
, 'No Post Title' -- ご自身が追加したテンプレートパーツ名を指定
);
where句で指定しているheader,footer,No Post Titleは、私がテンプレートパーツとして追加しているものなので、条件に入れています。
インデックスや固定ページなどについては、テンプレートとして追加しているものを網羅する形で条件に指定しています。