我在wordpress配置文件中创建了一个字段(使用名为Advanced Custom Fields的插件创建),允许客户上传他们的徽标。我现在想要遍历所有这些客户并显示该徽标(最好在列表中)
以下是一些尝试,有人可以指导我找到正确的方向:
<?php
$args = get_users( array( 'fields' => array( 'display_name' ) ) );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo '<li>';
echo '<img src="';
the_field('company_logo');
echo '" alt="';
the_field('company_name');
echo '"/>';
echo '</li>';
endwhile;
这是另一次尝试
<?php
$blogusers = get_users( array( 'fields' => array( 'display_name' ) ) );
$variable = get_field('company_logo', $blogusers);
foreach ( $blogusers as $user ) {
echo the_field('company_logo', $blodusers);
}
?>
另一个
<?php
$blogusers = get_users('orderby=company_name');
$author_id = get_the_author_meta( 'ID' );
$image1 = get_field('company_logo', 'user_'. $author_id );
$image2 = get_field('company_name', 'user_'. $author_id );
foreach ($blogusers as $author_id) {
echo '<li><div class="image_wrapper"><img class="profile1" src="';
echo $image1['url'];
echo '"/></div><img class="profile2 hoverShow" src="';
echo $image2['url'];
echo '"/><div class="imageOverlay"><p>';
echo '</p></div></li>';
}
?>
除HTML echos&#39;
外,上述所有内容均未显示任何结果提前致谢
答案 0 :(得分:2)
您需要为循环中的每个用户调用get_field
。
这样的事情:
<?php
$blogusers = get_users();
foreach ($blogusers as $user) {
$author_id = $user->ID;
$image1 = get_field('company_logo', 'user_'. $author_id );
$image2 = get_field('company_name', 'user_'. $author_id );
echo '<li><div class="image_wrapper"><img class="profile1" src="';
echo $image1['url'];
echo '"/></div><img class="profile2 hoverShow" src="';
echo $image2['url'];
echo '"/><div class="imageOverlay"><p>';
echo '</p></div></li>';
}
?>
注意:我不确定company_logo
和company_name
字段的数据实际上是什么样的。company_name
应该返回图像听起来有点奇怪..
编辑:如果您想按company_name排序,则需要执行以下操作(请注意,此操作未经过测试)
$blogusers = get_users(array( 'meta_key' => 'company_name', 'orderby'=>'meta_value' ));
查看文档以获取更多详细信息http://codex.wordpress.org/Class_Reference/WP_User_Query