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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

907閲覧

PHPファイルを整理したい

soraatori

総合スコア55

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/20 16:54

編集2021/06/21 12:06

前提・実現したいこと

デザインカンプを元にWordPressでオリジナルテーマを作っています。
下層ページのヘッダーのナビゲーション部分(カレントページの装飾)、
タイトル、パンくずリストがページによってそれぞれ異なっていました。
条件分岐の知識が乏しかったために、下層ページ分のheader-○○.phpを作成し
それと同じ数のpage-○○.phpを作成し、固定ページよりテンプレートとして読み込んでいました。
下層ページの本文のコードは固定ページ内に記述しています。
一応表示はされていますが運用が大変になり、何とか数を減らせないかと思っています。

該当のソースコード

php

1<header class="header"> 2 <div class="header-under_layer"> 3 <div class="header-under_layer__inner"> 4 <div class="header-under_layer__inner--item"> 5 <nav class="nav-under_layer"> 6 <ul> 7 <li><a href="<?php echo esc_url( home_url("strength") ); ?>" class="current">我が社の強み</a></li> 8 <li><a href="<?php echo esc_url( home_url("service") ); ?>">製品・サービス</a></li> 9 <li><a href="<?php echo get_permalink(get_page_by_path('news')); ?>">ニュース</a></li> 10 <li><a href="<?php echo esc_url( home_url("about-us") ); ?>">会社案内</a></li> 11 <li><a href="<?php echo esc_url( home_url("privacy-policy") ); ?>">個人情報保護</a></li> 12 <li><a href="<?php echo esc_url( home_url("recruit") ); ?>">採用情報</a></li> 13 <li><a href="<?php echo esc_url( home_url("contact") ); ?>">お問合せ</a></li> 14 </ul> 15 </nav> 16 </div> 17 <ul class="breadcrumb"> 18 <li><a href="<?php echo esc_url( home_url() ); ?>">ホーム</a></li> 19 <li><a href="<?php echo esc_url( home_url("strength") ); ?>">我が社の強み</a></li> 20 </ul> 21 <h2 class="catch-en">OUR STRENGTH</h2> 22 <h2 class="catch">我が社の強み</h2> 23 </div> 24 </div> 25</header>

php

1<header class="header"> 2 <div class="header-under_layer"> 3 <div class="header-under_layer__inner"> 4 <div class="header-under_layer__inner--item"> 5 <nav class="nav-under_layer"> 6 <ul> 7 <li><a href="<?php echo esc_url( home_url("strength") ); ?>">我が社の強み</a></li> 8 <li><a href="<?php echo esc_url( home_url("service") ); ?>" class="current">製品・サービス</a></li> 9 <li><a href="<?php echo get_permalink(get_page_by_path('news')); ?>">ニュース</a></li> 10 <li><a href="<?php echo esc_url( home_url("about-us") ); ?>">会社案内</a></li> 11 <li><a href="<?php echo esc_url( home_url("privacy-policy") ); ?>">個人情報保護</a></li> 12 <li><a href="<?php echo esc_url( home_url("recruit") ); ?>">採用情報</a></li> 13 <li><a href="<?php echo esc_url( home_url("contact") ); ?>">お問合せ</a></li> 14 </ul> 15 </nav> 16 </div> 17 <ul class="breadcrumb"> 18 <li><a href="<?php echo esc_url( home_url() ); ?>">ホーム</a></li> 19 <li><a href="<?php echo esc_url( home_url("service") ); ?>">製品・サービス</a></li> 20 </ul> 21 <h2 class="catch-en">PRODUCT & SERVICE</h2> 22 <h2 class="catch">製品・サービス</h2> 23 </div> 24 </div> 25</header>

試したこと

パーツごとに分け、include()で読み込む方法を調査し試しています。

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

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

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

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

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

m.ts10806

2021/06/20 21:08

テーマを自身で作ってるということでしょうか。 もう少し前提や背景を具体的に記載してください。
guest

回答2

0

条件分岐タグ - WordPress Codex 日本語版
で表示しようとしているページを判断して条件分岐を仕込むのでは?
そうしないと、共通するデザインですら、作ったphpファイルを大量に開いておいてコピペで貼り付けるという、
お粗末なテーマ管理になってしまいますよ。
共通デザインはどこで、
どのページだけ一部変更するのか、
みたいなサイト設計にも関わってくる部分なので、
サイトマップなどを元に一度整理してみてはいかがでしょうか。

投稿2021/06/21 00:16

編集2021/06/21 01:17
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

soraatori

2021/06/23 00:48

ご回答ありがとうございます。 今一度サイトマップやコードの必要部分を整理しました。 そこでheder.phpに条件分岐を加え ```php 共通部分 <?php if ( is_home() || is_front_page() ) : ?><!--トップページのみ--> <?php elseif ( is_page(○○) ) : ?><!--下層ページをスラッグを指定して切り分け--> <?php endif; ?> ``` というようにしました。 するとheader.phpを一つに集約でき無駄なファイルを削除することができました。 このようなやり方であっておりますでしょうか。
guest

0

そもそも論ですが、せっかくWordpressを使っているのに、なぜわざわざPHPファイルを直接作成しているのですか?

そういうことをせずにサイトを作成できるのがWordpressの強みだと思うのですが…。

提示されているソースコードを見る限りでも、直接PHPファイルをカスタマイズしたりする必要もなさそうな構成に見えます。

投稿2021/06/20 17:10

teratail_begin

総合スコア72

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

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

soraatori

2021/06/23 00:52

ご回答ありがとうございます。 PHPファイルをカスタマイズする必要がないということは、WordPress上で完結できる方法があるということでしょうか。
teratail_begin

2021/06/23 05:17

一番最初の質問では「WordPressでホームページを作っています」という話だったのに、「WordPressでオリジナルテーマを作っています」という話に修正されてますね。 質問の前提がまったく違う話になってますので、私の書いた回答も意味がなくなってしまいました。
soraatori

2021/06/24 11:17

すみません。背景を具体的に記載するようにと依頼があったため修正しました。 記述漏れをしておりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問