web-dev-qa-db-ja.com

ユーザーからすべてのユーザーメタデータを取得する

私は自分のユーザーのためのbioや他のカスタムメタデータをページに表示しようとしています。それで、私はそれのためにユーザーメタデータテーブルに問い合わせたいです。試しましたが、そのための機能が見つかりませんでした。

私が探しているのは、1回のデータベース呼び出しですべての情報を取得することです。

これは私がこれまでにしたことです:

    $wp_user_search = new WP_User_Query( array( 'role' => 'agent', 'fields' => 'all_with_meta') );
    $agents = $wp_user_search->get_results();

foreach($agents as $agent){
  var_dump($agent);
}

結果:

    object(WP_User)#235 (7) { ["data"]=> object(stdClass)#233 (10) 
{ ["ID"]=> string(1) "2" ["user_login"]=> string(8) "test" ["user_pass"]=> string(34) "$P$BmGqM9h7Ct7fasdfsdf5bdBUnTIYeW.wI4AUIZ0" ["user_nicename"]=> string(8) "prionkor" ["user_email"]=> string(16) "[email protected]" ["user_url"]=> string(26) "http://barnesandklatt.com/" ["user_registered"]=> string(19) "2011-12-19 13:17:27" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(8) "prionkor" } ["ID"]=> int(2) ["caps"]=> array(1) { ["agent"]=> string(1) "1" } ["cap_key"]=> string(15) "wp_capabilities" ["roles"]=> array(1) { [0]=> string(5) "agent" } ["allcaps"]=> array(2) { ["read"]=> bool(true) ["agent"]=> string(1) "1" } ["filter"]=> NULL } 

しかし、私が追加したすべてのメタデータBioや他のカスタムデータ(Twitter、Facebook、電話など)を取得しているわけではないようです

何かアドバイスがありましたら教えてください。ありがとうございます。

2
Sisir

WP_Userオブジェクトには、カスタムフィールドにアクセスできるようにするためのいくつかの魔法のメソッドがあります。

foreach ( $agents as $agent ) {
  var_dump( $agent->bio );
  var_dump( $agent->get( 'bio' ) );
}

両者は同等です。

より多くの情報: http://scribu.net/wordpress/the-magic-of-wp_user.html

5
scribu