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

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

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

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

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

Q&A

解決済

2回答

483閲覧

WPでcss,js,phpを用い作成。href先が404エラーとなる。

kate3

総合スコア1

WordPress

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

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

0グッド

0クリップ

投稿2022/10/15 05:10

編集2022/10/17 05:24

HTMLで静的サイトを作って来ました。
今回動的サイトに挑戦してみたくWordPressの自作テーマを作り始めました。

ブログ型ではなく、1カラムサイト型で、作っています。
page1.phpに「〇〇について」というhrefでリンクを張りました。
リンク先はpage2.phpです。

page1.phpはイメージ通り表示できていますが、リンクをクリックすると404エラーとなり表示されません。

HTMLと違い、参照先がアドレスバーに表示されないので、どこを参照しているかもよくわからず戸惑っています。WPはいろいろなルール(制約)があるようで、難しいですね・・・。

php、css、jsでページを作っていますが、hrefはHTMLのようにやっても表示されないのでしょうか。

階層は以下のようなものです。

イメージ説明

ドメイン - public_html
- wp-content
- themes
- 自作テーマ - page1.php
- page2.php
- index.php
- cs - page1.css
- page2.css
- style.css
- footer.php
- function.php
- header.php
- js
- page1.php
- jquery-3.6.1.min.js

実現したいこと

最初のページ(例:1.php)の中のリンクから(例:2.php)を呼び出したい。
1.phpと2.phpにはそれぞれ別のcssファイルがあり、制御はfunctions.phpでやりたい。

WPの説明を見ているとindex.php、page.phpなどトップページに来るファイルの優先順位ふがあると認識はしていますが、ブログ型ページを作るつもりはなく、あくまでもサイトで型で
やりたいと思っています。

HTMLだけでは表現の幅が限られているので、PHPの勉強のつもりではじめました。
WPに拘るつもりもないのですが、ググっているとWPで自作テーマと言うのがヒットして簡単そうでしたのでやってみましたが、返ってよくわからなくなっています。

書籍で勉強も検討していますが、内容がどれも似たり寄ったりでやりたいことから遠ざかっているように思いましたので、こちらで質問させて頂きました。

発生している問題・エラーメッセージ

リンクをクリックしても404エラーが出る。ファイルはアップしています。
というか、自分で用意した404.phpが表示されています。

補足情報(FW/ツールのバージョンなど)

いろいろググっていますが、WPの階層構造もいまいちわかっていません。
hrefはHTMLのソースだと思うのですが、これだけではリンク飛ばないのでしょうか。

宜しくお願いいたします。

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

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

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

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

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

CHERRY

2022/10/15 05:35

現状の内容では、URL が間違っていて、404 になっているのではという判断しかできないと思います。 URL のドメイン名を example.com 等の例示用ドメイン名を使用して、具体的なHTML のソースコードを質問に記載していただけないでしょうか。
kate3

2022/10/15 06:07

ChERRYさま お返事ありがとうございます!! ファイルはphpで作りました。 page1.php <div class="logo"> <!-- メニューの〇〇についてを左上に配置 --> <a class="link" href="/page2.php/">〇〇について</a> </div> page1.phpとpage2.phpは同じ階層に置いています。 phpだと何か別の記述でファイル呼び出すのでしょうか・・・? 何日もググっていますが、まったく理解できておりません。 としています。
m.ts10806

2022/10/15 06:49

質問は編集できます。 >/page2.php/ 後ろの/は不要として、このPHPはドキュメントルート配下に置かれてるのでしょうか。 同階層且つドキュメントルートでないなら ./ で始めないといけませんが、 そもそもWordPress管理下に置きたいのかどうかでコードの書き方や配置も変わってくると思います。
kate3

2022/10/17 14:29

ワードプレスのテンプレートは使用していません。 自作テーマを作っています。 ルートの問題ではないです。 ありがとうございました。
guest

回答2

0

自己解決

今回はまったくHTMLを使用しておりません。
WorldPressのカスタマイズではなく、自作をしております。

HTMLからPHPに直す動画や記事を多く拝見し、PHPの基本構文が理解できていなかった事が根本的な問題でした。
HTMLではなく、PHPの構文を理解する事で自己解決しました。

お返事をくださいましたみなさま、ありがとうございました!

投稿2022/10/17 15:29

編集2022/10/17 15:32
kate3

総合スコア1

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

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

0

WordPress はどのような環境で動作させているのでしょうか?

page1.phpはイメージ通り表示できていますが、リンクをクリックすると404エラーとなり表示されません。

page1.php にアクセスした場合、どのような URL で表示されているのでしょうか?
WordPress サイトの URL をhttp://example.com と仮定した場合、Webブラウザに http://example.com/wp-content/themes/自作テーマ/page1.php の様な感じで表示されていたりしないでしょうか。

WordPress サイトの URL が、上記のような感じで、WordPress テーマディレクトリの「自作テーマディレクトリ」に 「page1.php」「page2.php」があるのであれば、

<div class="logo"> <!-- メニューの〇〇についてを左上に配置 --> <a class="link" href="/page2.php/">〇〇について</a> </div>

は、リンクの貼り方がおかしいです。

「自作テーマ」ディレクトリのファイルにリンクを貼るのであれば、

<a class="link" href="/wp-content/themes/自作テーマ/page2.php">〇〇について</a>

にする必要があるのではないでしょうか。

配布されているテーマでは、「使用中のテーマのディレクトリ」を返す関数 get_template_directory_uri() を使用して、

<a class="link" href="<?php get_template_directory_uri(); ?>/page2.php">〇〇について</a>

と書いてある場合が多いかもしれません。

また、WordPress を使用する場合は、テンプレートに直接リンクすることは少ないと思います。
多くの場合は、 WordPress ページ( 固定ページ )と呼ばれるページを作成して 書くページにテンプレートを割り付けて「WordPress ページ( 固定ページ )」に設定したスラッグを元にした URL で表示させることが多いと思います。


WPに拘るつもりもないのですが、ググっているとWPで自作テーマと言うのがヒットして簡単そうでしたのでやってみましたが、返ってよくわからなくなっています。

いろいろググっていますが、WPの階層構造もいまいちわかっていません。

WordPress の自作テーマを作成する場合は、テンプレート階層 ( 日本語版では図が出ないので英語版のTemplate Hierarchyを見るほうがわかりやすいかもしれません ) 、 テーマの作成WordPress サイトデザイン リファレンス 等に記載されているルールに合わせて作成する必要があります。
WordPress のテーマは ルールに合っていないとエラーが出たりしてうまく動きませんので、WordPress の自作テーマを作成するのであればこれらのページの内容を読んでルールに合った記述をするようにしましょう。

投稿2022/10/17 15:11

CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問