私は次の問題があります。私はWordpress環境を外部のPHPファイルにロードしたい。すべての私の仕事は、ローカルホスト上の現在と次のように私のPHPコードは次のとおりです。ログインしているユーザーの現在のWordpressの電子メールアドレスを外部のPHPファイルで取得するにはどうすればよいですか?
<?php
require("../../wp-blog-header.php");
$admin = do_shortcode("[su_user field='user_email']");
if ($admin === "[email protected]") {
// Do stuff here
}
else {
echo "<h1>Forbidden.</h1>";
}
これは私はlocalhostで完全に正常に動作しますので、私は、私は、サーバーにファイルをアップロードするとき、それはことを考えると、あまりにも働かなければならないことを考え出しファイルはローカルと同じディレクトリに格納されます。したがって、../../wp-blog-header.php
です。残念ながら、これは動作しません。私はecho $admin;
すると、次のエラーが表示されます。
ユーザー:
<?php global $user_email;
get_currentuserinfo();
echo $user_email;
?>
これはどちらか動作しません:ユーザーIDが
私はこのようなショートコードを使用せずにネイティブWordpressの機能を使用してみました正しくありません。 。 WordPress環境を外部のPHPファイルに読み込むより効率的な方法はありますか?ここで何が起きているのかについてのご意見は?それは必ずしも電子メールである必要はありません、それは私が私が言及するのを忘れてみました、私には0
を与えるだけでなくユーザーIDである可能性があり、PHPファイルのロードと一緒を禁止エコーエラー。これは私がファイルrequire("../../wp-blog-header.php")
が実際にロードされていると信じさせます。なぜなら、私がディレクトリを変更すると、ファイルが現在動作している/利用可能であるというエラーが直接出るからです。
ショートコードは、ログインしたユーザーの電子メールアドレスを返す新しいPageの中でテストしたので動作します。
UPDATEは
私のルートは以下のとおりです。
私もrequire("/var/www/vhosts/test-website.com/httpdocs/wp-blog-header.php")
でテスト /var/www/vhosts/test-website.com/httpdocs/
。それと同じ結果。奇妙なことは、この行の下にwp_head()
を追加すると、ヘッダーが読み込まれるということです。私は質問を再整理します:
ログインしているユーザーの現在の電子メールアドレスを外部のPHPファイルで取得するにはどうすればよいですか?
あなたは仮想ホストでこれを実行していたローカルホスト上で実行されていましたか?または、あなたが 'localhost/folder/... 'として実行していたのですか? – RiggsFolly
@RiggsFollyを' localhost/folder/...'と正確には私はMAMPを使います。これはどんな助けでもいいと思います。 –
あなたのローカルのマシンで 'DocumentRoot'がどのように設定されていますか? LIVEウェブサイトでは同じではありません – RiggsFolly