質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

PHP

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

Q&A

0回答

1129閲覧

WordPressで読み込んでいるget_template_partが特定のページのみ挙動がおかしい

stone_yama

総合スコア17

WordPress

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

PHP

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

0グッド

0クリップ

投稿2019/04/19 09:43

編集2019/04/19 10:18

content-menu.php

<header class="site-width"> <h1><a href="index.html">サンプルテキスト</a></h1> <nav id="top-nav"> <ul> <li><a href="index.html">HOME</a></li> <li><a href="#about">ABOUT</a></li> <li><a href="#merit">MERIT</a></li> <li><a href="#recruit">RECRUIT</a></li> <li><a href="contact.html">CONTACT</a></li> <li><a href="map.html">MAP</a></li> <li><a href="blog_list.html">BLOG</a></li> </ul> </nav> </header>

map.php

<?php //Template Name: INFO 〜インフォメーション〜 ?> <?php get_header(); ?> <?php get_template_part('content', 'menu'); ?> <?php get_footer(); ?>

content-menu.phpをmap.php内でget_template_partを使用し呼び出しているのですが、
なぜかCSSが上手いこと効いていなかったためデベロッパーツールでmap.phpを調べたところ、
content-menu.phpのheaderタグが消えており(デベロッパーツールのelementsに表示されていない)、そのためheaderタグに指定したCSSが効いていないという状態でした。

他の固定ページは同じ記述で問題なく動作しています。

調べてみましたが原因が分からず困っております。

よろしくお願い致します。


追記です。
map.php内のget_headerとget_template_partの位置を入れ替えることで一応解決しました。

ですがなんとも気持ちが悪いので原因をご存知の方がいらっしゃいましたら教えて頂きたいです。

map.php

<?php //Template Name: INFO 〜インフォメーション〜 ?> <?php get_template_part('content', 'menu'); ?> <?php get_header(); ?> <?php get_footer(); ?>

header.php

<!DOCTYPE html> <html lang="ja"> <head> <!-- 文字コードの指定--> <meta charset="<?php bloginfo('charset') ?>"> <!-- タイトルの取得--> <title><?php wp_title(); ?></title> <!-- CSSの読み込み--> <link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>" /> <link href='http://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'> <?php wp_head(); ?> </head> <body <?php body_class(); ?>

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

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

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

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

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

CHERRY

2019/04/19 10:01

ファイルの中身全部が、読み込まれないのではなく 先頭と最後の行がないということでしょうか? WordPress をデバッグモードにした場合、なにかメッセージは出ますか? Web ブラウザの管理者ツールで、コンソールになにかメッセージはでていますか? WordPress 5.1.1 で、WordPress 標準テーマ TwentyNineteen に添付コードを追加して「カスタムページテンプレート」で設定して試してみましたが、再現しないようです。 PHPのバージョン、WordPress のバージョン、テーマ名、使用しているプラグイン、設定 etc... の状況を再現できるような情報を追記していただくことは可能でしょうか?
CHERRY

2019/04/19 10:10 編集

get_header() は、 header.php を読み込んでいるので、header.php の中身を追記していただくことは可能でしょうか?
stone_yama

2019/04/19 10:16

早速のご回答ありがとうございます! はい。仰る通りでheaderタグのみ無くなってしまっている状況です。 またデバッグモード、コンソール共にエラーメッセージはございません。 以下開発環境になります。 ・サーバー:Apache ・PHP:Ver7.0.3 ・MySQL:Ver5.5.60 ・WordPress:Ver5.1.1 ・動作環境:Local by flywheel またmap.php内のget_headerとget_template_partの記述順序を入れ替える事で一応正常に動作するようになりましたが、モヤモヤするので知恵をお貸し頂きたいです。
stone_yama

2019/04/19 10:19

質問がすれ違ってしまいました… 申し訳ございません。 header.phpの内容を追記させて頂きましたのでご確認ください。
CHERRY

2019/04/19 10:22

確認ですが、順番を入れ替えて表示した場合、Web ブラウザ上で、 <!DOCTYPE html> の前に <header>〜</header> が出ているということですか?
CHERRY

2019/04/19 10:23

あと、functions.php で、hook の外側等で、直接 HTML やテキスト等を出力をしている部分があったりしませんか?
stone_yama

2019/04/19 10:32

「ページのソースを表示」から確認したところ、 <!DOCTYPE html> の前に <header>〜</header>が表示されていますが、 「検証(Elements)」で確認すると html→head(空っぽ)→body→header→headの中身(metaタグ等) という階層になっておりました。
stone_yama

2019/04/19 10:35

functions.phpはまだ何も定義していない状態になります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問