質問するログイン新規登録
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

3140閲覧

WordPressのtheme以外の下層ページでheader、footerを読み込む方法

roronoazoro

総合スコア113

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/07/04 11:35

0

0

下記の記述でheaderやオリジナルヘッダーを読み込ますと思うのですが、
階層の違う場合はどうやって読み込ますのでしょうか?

<?php get_header(); ?>
<?php get_header('page'); ?>

下記の場合の時のnew/index.phpにヘッダーを読み込ます方法が分かりません。
\wp-content\themes\original\
\new\index.php

画像とかを読み込む場合は<?php echo get_stylesheet_directory_uri();などよく見かけたのですが、headerの場合の情報が見当たらなく・・

それともfunctions.phpとかで設定するものなのでしょうか、?

どなたかアドバイスいただけると助かります。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

header.php で get_template_part()を使うか、get_header();を使わずにfunctions.phpに別関数名でコピーして、パスを渡せるようにするかどちらかだと思います。

【get_header() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/get_header/

PHP

1function get_header( $name = null ) { 2 /** 3 * Fires before the header template file is loaded. 4 * 5 * @since 2.1.0 6 * @since 2.8.0 $name parameter added. 7 * 8 * @param string|null $name Name of the specific header file to use. null for the default header. 9 */ 10 do_action( 'get_header', $name ); 11 12 $templates = array(); 13 $name = (string) $name; 14 if ( '' !== $name ) { 15 $templates[] = "header-{$name}.php"; 16 } 17 18 $templates[] = 'header.php'; 19 20 locate_template( $templates, true ); 21}

投稿2019/07/04 12:09

kei344

総合スコア69638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roronoazoro

2019/07/04 12:28

ありがとうございます。 取り急ぎ対応できそうなget_template_partを使ってみたのですが、こちら/wp-content/themes/original/ を取得してしまう感じでしょうか? <?php get_template_part( 'header' , 'new' ); ?> としみましたが/new/index.phpで読み込むと\wp-content\themes\original\header-new.phpになってしまう認識であってますか、? テンプレート?なのでvar_dumpもできませんでした、。
kei344

2019/07/04 12:34

get_template_part( 'new/header' ); とかで \wp-content\themes\original\new\header.php になると思います。 【テンプレートを使いまわしたいときに使えるget_template_part】 https://samurai-project.com/articles/826
roronoazoro

2019/07/05 00:48

ありがとうございます。 説明足らずだったのですが、今回wp-contetと同じ階層にnewがあります。 この場合はトップまでのディレクトリを取得するテンプレート?を使いheader_new.phpを読み込む認識でしょうか?
kei344

2019/07/05 02:22

質問文に「別のテーマフォルダにあるファイルの読み込み」と足しておいたほうがよいですよ。 get_template_part でなく load_template でパス指定して読み込んでください。 【Wordpressでテンプレートファイルをロードする5つの方法とその違い - Qiita】 https://qiita.com/ironsand/items/7fce685abdbf18a98c71 【パスとURL – WordPress私的マニュアル】 https://elearn.jp/wpman/column/c20111006_01.html
roronoazoro

2019/07/07 03:32

返信が遅れてすみません、 一旦下記に\wp-content\themes\original\header_new.phpの対応で読み込むことができました。 <?php $path = get_template_directory( ); ?> 参考URLの方でも目を通しておきたいと思います。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問