私はサイト全体をWordPressのプラグインに入れました。私はワードプレスから逃げようとしていますが、私はまだそれを管理者のユーザーに依存しています。現在ログインしているユーザーのデータ、具体的にはIDにアクセスする必要があります。私はユーザーオブジェクトを取得しないまま一定の場所で自分のデータにアクセスしようとすると投稿要求にログインしたユーザーデータにアクセスしますか?
:
object(WP_User)#1033 (7) {
["data"]=>
object(stdClass)#1032 (0) {
}
["ID"]=>
int(0)
....
を最後に、これに煮詰めるようです。
$this->get('/assignments', function(Request $req, Response $res, array $args){
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
$ch_user = wp_get_current_user();
var_dump($ch_user);die();
}
と::私は私のスリムルータによって呼び出され、コントローラにこのデータを取得しようとしているこれらのルートの
$this->post('/userdata', function(Request $req, Response $res, array $args){
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
$ch_user = wp_get_current_user();
var_dump($ch_user);die();
}
どちらも同じグループ、互いに離れたラインです。 最初のものは正しく入力されたユーザーオブジェクトを返し、2番目のものはID:0の空のユーザーオブジェクトを返します。 2つの間の唯一の違いは、1つは取得要求であり、1つはポスト要求です。
私は言葉の専門家ではなく、私はこれで完全に困惑しています。
編集:
私は同様の問題が未解決のままに見つかりましたあなたのコメントから
WordPress Ajax Call -- WordPress User ID
Wordpress REST API Retrurning Currnet User ID as 0
に設定されるということですログイン要求にはログインしたCookieが正しく、投稿要求にはnullが含まれています。 2つの操作は同じ場所で同じ方法で行われ、問題はスリムであるとしか思えません。私はクッキーを削除するスリムな投稿とは何かを探していますが、解決策が見つからないようです:/ – SpeedOfRound
ログインしたクッキーは、サーバーによって直接、またはクライアントで実行されているJavaScriptコードによって間接的に削除できますブラウザ。ブラウザのネットワークツールを使用してサーバーが送信したCookieを監視することによって、サーバーがログインしているCookieを直接削除(期限切れ)しているかどうかを確認できます。サーバーはクッキーを期限切れにして削除します。 Chromeネットワークツールでは、サーバーから送信されたCookieを「応答Cookie」と呼びます。 – B68C
クッキーが削除された場合、ログアウトされませんか?クッキーはリクエスト中に欠落しています。 – SpeedOfRound