web-dev-qa-db-ja.com

ACPをループさせるWP_User_Query

ユーザーをテンプレートに表示するために次のコードを使用しています

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$paged -= 1;
$limit = 100;
$offset = $paged * $limit;

$args  = array(
    'number' => $limit,
    'offset' => $offset,
    'role'         => 'editor',
);

global $wp_query;
$wp_query = new WP_User_Query($args);

// Get the results
$authors = $wp_query->get_results();


 foreach($authors as $author) : 

     echo $author->description; 

  endforeach;

?>

これは問題なく動作しますが、プラグインのAdvanced Custom Fieldsを使用して作成したカスタムフィールドも表示します。私はこのコードでauthor.phpページでそれをすることに成功しました:

$author_id2 = get_the_author_meta( 'ID' );
$author_badge = get_field('profile_picture', 'user_'. $author_id2 ); // image field, return type = "Image Object"

<img src="<?php echo $author_badge; ?>" alt="<?php echo $author_badge['alt']; ?>" class="alignright" /> 

しかし、私は自分のWP_User_Queryで同じフィールドをどのように表示するかわからない。どんなヒントでも大歓迎です

1
jmysona

私が知っているように、または前回チェックした時点では、ACFはget_term_metaのように「最善の」場所にメタデータを作成したり、ユーザーのメタデータを作成したりしません。

それの代わりに、エリオットは非常に奇妙なことをしました、しかしあなたが求めているものに集中します:

get_field('your-field','user_' . $author->ID);

それであなたは上記のような何かを追加しなければならないであろうループ、彼のチュートリアルでもっとチェックしてください: http://www.advancedcustomfields.com/resources/how-to/how-to-get-ユーザーからの値/

1
jepser