私は書店のウェブサイトを作成し、私のフロントページにヘッダー機能、フッター機能、およびログインメニューを得ました。
すべての関数はfunctions.php
で宣言されフックに接続されています。
私のフロントページは正しく動きます。
しかし、私はログインメニューのオプションの1つ(ファイルpage-non-member.php
)から登録メニューファイルを呼び出そうとしていて、このページのヘッダとしてフロントページのuseヘッダを使用しようとしています。
これを使ってみます。
require( dirname( __FILE__ ) . '../wp-load.php' );
if ( function_exists( 'get_template_part' ) ) {
echo "get_template_part found";
}
get_template_part( 'mybookshop', 'header' );
またはその:
do_action( 'create_header_html', 'Make registration' );
しかしどちらの場合も、私は次のメッセージを受け取りました
警告:require(W:\ domains\wpfolder\wp-content\themes\mybookshop ../ wp-load.php):ストリームを開くことができませんでした:W:\ domains\wpfolder\wp-content \にそのようなファイルまたはディレクトリはありません4行目のthemes\mybookshop\page-not-member.php
致命的なエラー:require():必要な 'W:\ domains\wpfolder\wp-content\themes\mybookshop ../ wp-load.php'(include_path = '.; w:/modules/php/PHP-5.6)を開けませんでした"; w:/modules/php/PHP-5.6/PEAR/pear ')をW:\ domains\wpfolder\wp-content\themes\mybookshop\page-not-member.phpの4行目に表示します。
Structure of my folders:
-- WordPress root directory
|-- file wp-load.php
|
....
|
-- my site(bookshop) root directory
|-- header.php,header.php, page-home-page.php, page-not-member.php, etc
|
....
私はローカルサーバー(OpenServer)を使います。問題とは何ですか、どうすれば解決できますか?
まず第一に、それをしないでください。 WordPressのエンジンを外部のPHPファイルに含めることは全くお勧めできません。それは逆さまよりも欠点があります。
WordPressの機能にアクセスしたい場合は、テーマのフォルダ内にPHPファイルを作成するか、プラグインを作成してください。 URLから直接データにアクセスする必要がある場合は、AJAXリクエストを作成することもできます。
さて、あなたのエラーについて。テーマのファイルからwp-load.php
をインクルードしようとしているようです。もしそうなら、それは必要ではありません。テーマのファイルはすでにWordPressの機能にアクセスできます。 require...
を削除するだけで大丈夫です。
いくつかの未知の理由でそうではないとしましょう、そしてあなたはwp-load.php
をインクルードしなければなりません。このファイルはインストールのルートフォルダに存在し、含めるには3回戻る必要があります。だからそれはこのようになります:
../../../wp-load.php
もう一度、しないでください。それは良い習慣ではありません。