ホームページ >バックエンド開発 >PHPチュートリアル >phpについてはあまり詳しくないので、wordpressについて質問させていただきます。
このコードはエラーを報告します
ページで報告されるエラー:
致命的なエラー: D の未定義関数 wp_list_cats() の呼び出し: phpnowhtdocsmulanwp-contentthemesmuseblog.phpの48行目
wp_list_pages()関数が定義されていないようです。
html css javascriptを使ってテンプレートを書きたい
blog.phpにindex.phpをリンクしている場合、blog.php内で呼び出すとエラーが報告されます
ただし、index.php内で直接呼び出すと正常です、index.phpとブログ.phpが同じディレクトリにあるのですが、理由がわかりません。
Index.php
にはその機能が導入されています
が、blog.php には導入されていません
Index.php にいくつかの要件を blog.php に追加してみてください
Index.php
関数は導入されています
が、blog.php は導入されていません
Index.php の要件の一部を blog.php に追加してみてください
何も導入されていないように見えます
PHP はどのように関数を導入しますか
そして、WordPress の wp_list_cats 関数はどこ ?
要するに、誰かが何かを所有している場合、あなたはそのルールに従わなければなりません
要するに、誰かが何かを所有している場合、あなたはそのルールに従わなければなりません
しかし、私たちは何をすべきでしょうか?
解決済み
呼び出したいファイルの前に または
パスは自分で決定しますが、いくつか質問があります
1. require との違いは何ですかおよび require_once? どちらも関数を呼び出します。構文は同じで、使用時にページに表示される違いはありません。
2. PHP で上位ディレクトリを取得する方法。絶対パスを使用するのはあまり理想的ではありません。../ は間違っているようです。
3. wp_list_cats() 関数を呼び出した後、「Page」?? 「Instance Page」のようなリンクが表示されます。削除方法
4. wp_list_cats() 関数のソースコードはどこにありますか?
require_once は php
への参照です
c の include のようなものです
http://www.csharpwin.com/dotnetspace/5716r9253.shtml lz これを見てください。 require_once() 関数は、最初にコンテンツが対象ファイルが以前にインポートされている場合、同じ内容は再度インポートされません。
やあ... 皆さんありがとう... ほぼ理解できました...
php で上位レベルのディレクトリを取得する方法 (たとえば、D:/phpnow/htdocs/mulan/wp-content/主題/) my/index.php このファイルは、D:/phpnow/htdocs/mulan/wp-blog-header.php ファイル
../ を書き込むことができることを示していますが、この相対パスは、作成したスクリプトの相対パスに基づいています。現在実行中です。参照したいファイルが上位ディレクトリにあることを確認した場合、実際に実行されるページは期待したものではない可能性が高くなります。
例:
ディレクトリ構造:
test/1/a.php
test/2/b.php
test/2/c.php
a.php
-------- - --
require '../2/c.php';
b.php
-----------
echo $a
c.php
---- - ------
$a = 123;
http://localhost/b.php を実行します
c.php は確かに... a.php と比較すると、それが正しいと思うかもしれません。 /2/c.php のようなパス。しかし残念なことに、実際に実行するのは b.php なので、現在のスクリプトのディレクトリは c.php と同じディレクトリにあります。したがって、a.php で c.php を参照するには、次のように記述する必要があります:
./c.php または c.php
これは、ファイルが相互に参照する場合、相対パスによってロジックが作成されることになります。汚く見える。したがって、実際には、誰もが相対パスを使用することを好みます。ただし、プロジェクトを移行すると物理パスが変更される可能性があるので、物理パスをディスクに直接書き込むことは適切ではありません。
最適な記述方法は、Web ルート ディレクトリの絶対パスに基づく方法です。
つまり、/で始まり、この/がWebサイトのルートディレクトリとなり、その下に絶対パスを書きます。
または、realpath と dirname を使用して物理パスを動的に返し、絶対パスを結合します。
上記の文には間違いがあります:
したがって、実際には、誰もが絶対パスを使用することを好みます。または、realpath、dirname などを使用して相対パスを動的に取得します。
require と require_once の違いについては、各所で説明されているので、詳しくは説明しません。ただし、私が言いたいのは、実際のプロジェクトでは、require と include を使用するのが最善であるということです。once のみを使用すると、PHP 自体が繰り返し発生するインクルードエラーを回避できますが、これにより効率が大幅に低下します。 。プログラマ自体の品質が十分に高ければ、これらの問題は回避できます。これを行うために PHP のパフォーマンスを低下させる必要はありません。
質問 3 と 4 については、厳密に言えば、WordPress システム自体の問題です。ここで質問するよりも、公式フォーラムに問い合わせた方がよいでしょう。