page.phpを子テーマに複製してpage-test.phpにして必要な所だけ書き換えるのではだめですか?
kurudriveさん ご回答ありがとうございます。
重要なことを書き忘れていました。
今編集しているサイトは、カスタム投稿タイプのスラッグを取得し、スラッグ別にページを
表示するようになっているのですが、私自身が作成したものではなく、かなりカスタマイズされている
のですが、子テーマを作成しておらず少しややこしいです。
できれば、テーマの第一階層ではなく、現状のままで修正したいと思っています。
よろしくお願いいたします。
まず、そのカスタマイズをした人に訪ねたほうがいいような気がします。
というのは、ここにいる私達はそのカスタマイズされたコードを見ることができません。
そのため、アドバイスがてきたとしても当てずっぽうなものになってしまいます。
というわけで、当てずっぽうなアドバイスですが、
require get_template_directory() . '/header.php';
を test.php の最上部に記載するとどうなりますか?
@rickaddison7634 さんが書かれている通りで、どのようなコードなのか分からないので回答し難いです。よって、私も当てずっぽうですが、
load_template( get_template_directory() . '/header.php' );
または
load_template( get_template_directory() . '/templates/header.php' );
ではどうでしょうか?
RICKさん ishitakaさん お二方ともお世話になっております。ご回答ありがとうございます。
申し訳ありません。最初に記述している、
テーマファイル/page-test/test.php
は間違いで、正しくは以下になります。
テーマファイル/templates/page-test/test.php
お二方とも教えてくださったコードなのですが、
require get_template_directory() . '/header.php';
load_template( get_template_directory() . '/header.php' );
こちら上記の2つは
<?php get_header(); ?>
のみを記載した場合と同じく、CSSやJSが適用されておりませんでした。
また、ishitakaさんの2つ目のコードについては、
load_template( get_template_directory() . '/templates/header.php' );
Warning: require_once(/wp-content/themes/lightning/templates/header.php): failed to open stream: No such file or directory in /wp-includes/template.php on line 722
と表示されてしまいます。
CSSやJSが適用されていない状況で、デベロッパーツールで確認してみたのですが、
20個ほどのJSのみが、net::ERR_ABORTED 404となっており、
CSSについては、1件もエラーが表示されておりませんでした。
デベロッパーツール画面で、Head内を確認してみたのですが、Lightning付属のBootstrapなどの
CSS、JSなどが読み込まれておりませんでした。
1つ気になったのですが、
テーマファイル/templates/page-test/test.php
の1つ上の階層の、
テーマファイル/templates/system.php
というものがあり、中には
<?php $slug = $post->post_name;
get_template_part('templates/page_test/'.$slug);
とのみ書かれておりました。こちらが原因の可能性はありますでしょうか。
よろしくお願いします。
-
この返信は3年、 4ヶ月前に
touroが編集しました。
テーマファイル/templates/page-test/test.php
この場合require('../../header.php');
は テーマファイル/templates/header.php を読むコードです。
もし、 テーマファイル/header.php が存在する場合、require('../../../header.php');
で読み込めるかもしれません。
テーマファイル/templates/system.php
<?php $slug = $post->post_name;
get_template_part('templates/page_test/'.$slug);
これは、templates/page_test/test.phpを読み行くだけの処理なので問題はなさそうです。
get template part
むしろ、system.php が読み込まれる以前の問題のような気がします。
P.S.
親テーマをカスタマイズした場合、アップデートをするとカスタマイズ内容は消えてしまいます。
なので、カスタマイズ内容が消えない場合はそのテーマは次のどれかであることが想定されます。
- Lightning をベースとしているが実は別物
- 実は子テーマである
これは テーマファイル/style.css の記述内容で判断可能です。
P.P.S.
カスタマイズを施した人と連絡は取れましたか?
RICKさん ありがとうございます。
require('../../../header.php');
と記入してみた場合も
Warning: require(../../../header.php): failed to open stream: No such file or directory in /lightning/templates/page_order/mens_order.php on line 2
と表示されました。
一度、テーマをアップデートすると追加したPHPなどCSSが消えたようで、
バックアップを復元して戻したらしいです。
申し訳ありません。書き忘れていました。カスタマイズを施した人とは連絡は取れないようです。
こちらのサイトは知人のものなのですが、その知人がコーダーに頼んだようで、
そこから連絡は取れていないとのことです。よろしくお願いいたします。
※追記です。
Lightningのバージョンはかなり古いものでして、
バージョンは3.0.4でした。現在追加しているPHPなどコードを
子テーマを作成し、バージョンアップしてもいいのですが、
かなり追加している項目が多く、私がいじるとバグが起きてしまう可能性があり、
どうしようかと考えているところです。この場合、バージョンアップし子テーマを作成
するほうがよろしいのでしょうか。よろしくお願いいたします。
/lightning/templates/page-test/test.php について話をしていたはずですが・・・
なぜ急に /lightning/templates/page_order/mens_order.php が出てきたのかがわかりません。
- 親テーマを直接カスタマイズしている(新機能追加時等に対応できない)
- これまでのやり取りでファイル構造が全くつかめない
- 知人が依頼したコーダーと連絡がつかない
- コーダーが書いたコードがトピック主の理解を超えている?
以上の点から、これからのことを考えると、
トピック主が知人から改めて依頼を受けた上で
1から作り直したほうが早いような気がしてきました。
というわけで、私は本件から撤退させていただきます。
お力になれず申し訳ありませんでした。
もし、1から作り直す際はこのトピックを閉じて新たにトピックを建てることをおすすめします。
P.S.
Lightning 7.0.0 でファイル構造が大幅に変更になったので、
現状で子テーマを作成するのはバグの原因になりかねません。
https://lightning.nagoya/ja/archives/lightning-7-0-lightning-pro-2-0-preinformation
RICKさん ありがとうございます。
今までは仮として、page-test/test.phpと記載させていただいておりました。
私のミスでわかりにくくなってしまい、申し訳ありません。
かしこまりました。一度相談し、作り直すか今回は諦めるか、決めてみたいと思います。
ありがとうございました。
ちなみに、Lightning では 固定ページは4種類のテンプレートから選べます。
- デフォルト
- No sidebar
- Landing Page
- Landing Page for Page Builder
Landing Page のみ特殊な仕様で詳細は下記に書かれています。
https://lightning.nagoya/ja/setting/basic/landing_page_template
これらのテンプレートは画面右側の「ページ属性」の「テンプレート」から選べます。

これらの機能は最新の WordPress を使用していれば使えます。
RICKさん ありがとうございます。
参考にさせていただきます。
とりあえず、子テーマがないと色々とややこしいので
今のLightning子テーマを作成し、既に追加・編集している部分を移動し、
テーマアップデートまで行おうと思います。
完了後、またご報告させていただこうと思いますので、
こちらの投稿は、未解決のままにさせていただきます。
よろしくお願いいたします。
何故かは分かりませんが、子テーマを作成し親テーマをアップデートすることにより
無事解決いたしました。皆様のご回答ありがとうございました。