web-dev-qa-db-ja.com

$ current_userはもうグローバルではないでしょうか?

WPの グローバル変数 を見ただけで、前回見たときから大きく変更されていることがわかりました。

$current_userは表示されなくなりました。これは他の多くの(古い)グローバルが将来のWPバージョンから「段階的に廃止」されることを意味するのでしょうか。

1
Steven

$current_userはまだ有効なグローバルですが、他のグローバルと同じように、これらに頼ることは避けてください。

関数に現在のユーザーが必要な場合は、代わりにこれを行ってください。

$current_user = wp_get_current_user();

また、現在のリクエストにログインしているユーザーがいない場合、これはfalseを返す可能性がありますが、グローバル$ current_userは単にWP_Userの無効なインスタンス(IDがゼロ)である可能性があります。これは後方互換性のためであり、グローバルに依存しない素晴らしい理由です。

6
Otto

地獄で雪が降ったとき。

WordPressは、極端な後方互換性を約束しています。それは非常にグローバル変数のようなものが単に削除されることはまずないでしょう。予告なしに、文字通り何年もの間非推奨の状態にあります。

しかし、それはあいまいなコード慣行についての言い訳ではなく、(グローバルではなく)適切なAPI関数を介してアクセスできるものであれば、を可能な限り使用する。

PS私はあまりにも多くのコードベースの状態の指標としてコーデックスに頼らないでしょう。コードについて疑問に思うとき - コードを見てください。

1
Rarst