私は以下のコードを使いました
function userinfo_global() {
global $users_info;
wp_get_current_user();
}
add_action( 'init', 'userinfo_global' );
ファイルusers.php
では、このファイルはfuntions.php
の内側で呼び出されます。
テンプレートファイルに<?php echo $users_info->user_firstname; ?>
がありますが、動作しません。
グローバルなwp_get_current_user();
をやりたい
あなたが理由を知っている?
あなたはまた、変数を埋める必要があります。
function userinfo_global() {
global $users_info;
$users_info = wp_get_current_user();
}
add_action( 'init', 'userinfo_global' );
そして、あなたはグローバルなコンテキストでどこでも$ users_infoを使うことができるはずです。いくつかのテンプレートパー(header.php、footer.php、get_template_part
で使われるもの)はデフォルトではグローバルスコープではないので、変数にアクセスする前にそれらのファイルでglobal $users_info;
を使わなければなりません。
wp_get_current_user()
はすでにWordPressによって事前定義されたグローバル関数です。あなたが常にグローバル変数を持っていることを確認するためにあなたのテンプレートにglobal $users_info;
を追加しなければならないので、代わりに$users_info = wp_get_current_user();
を同様に持っているかもしれません。