vektor-inc / x-t9

GNU General Public License v2.0
18 stars 1 forks source link

X-T9を親テーマに子テーマを作成した場合、template内で更にpartsを引用したページのpartsが正常に表示できません #264

Closed GrayArashiAI closed 5 months ago

GrayArashiAI commented 5 months ago

templatesフォルダ内のHTMLファイルの一部では、ヘッダー、フッター、ウィジェットなどの部品を引用するためにwp:template-partを使用しています。以下のpage.htmlを例に説明します。

<!-- wp:template-part {"slug":"header","tagName":"header"} /-->

<!-- wp:group {"tagName":"main","className":"mt-0","layout":{"inherit":true}} -->
<main class="wp-block-group mt-0">
    <!-- wp:pattern {"slug":"x-t9/featured/featured-hero-media-and-text"} /-->
    <!-- wp:pattern {"slug":"x-t9/featured/featured-columns-menu"} /-->
    <!-- wp:pattern {"slug":"x-t9/featured/featured-post-list"} /-->

    <!-- wp:spacer {"className":"is-style-spacer-lg"} -->
    <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-spacer-lg"></div>
    <!-- /wp:spacer -->

    <!-- wp:post-content {"layout":{"type":"constrained"}} /-->

    <!-- wp:spacer {"className":"is-style-spacer-lg"} -->
    <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-spacer-lg"></div>
    <!-- /wp:spacer -->

</main>
<!-- /wp:group -->

<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

wp:template-partには、"theme":"x-t9" のようにテーマ名が指定されています。これが、子テーマを作成する際にヘッダーやフッター、ウィジェットが正常に表示されなくなる原因になります。

例えば、front-page.htmlのように"theme":"x-t9"が指定されていないファイルは正常に表示されました。

解決策としては、次の方法が考えられます。

  1. 子テーマフォルダにpage.htmlなどのファイルを追加し、親テーマのファイルを上書きします。ただし、この方法を採用した場合、親テーマの該当ファイルが更新された際に手動での更新が必要になります。
  2. 親テーマのファイルを直接修正する。ただし、この方法では親テーマが更新されるたびに修正したファイルがリセットされます。

どちらの方法も完全な解決策とは言えませんので、ソースコードから"theme":"x-t9"を削除するのが最も良い対処法だと考えます。ただし、私はWordPressの初心者なので、この削除がどの程度の影響を及ぼすかは確かではありません。ご検討いただければ幸いです。

kurudrive commented 5 months ago

おそらくこちらと同じ内容かと思います。

https://vws.vektor-inc.co.jp/forums/topic/90158

ソースコードから"theme":"x-t9"を削除するのが最も良い対処法

こちらは確かにそうなのですが、弊社側で改変した際に自動的に "theme":"x-t9" が付与されてそれを配信してユーザーに影響が出る事もありえますし(まぁ一応そのあたりの削除も自動化するべきなのでしょうか)、テンプレートのカスタマイズについて、カスタマイズしたら標準でDBに保存されていきますので、 ブロックテーマにおいては子テーマは使わない運用の方が良いと考えています。

kurudrive commented 5 months ago

ご報告ありがとうございました。アップデートいたしましたのでクロースします。