这是我的代码如下。它使用array_chunk()
将结果拆分为三个一组,因此每个.row
只有3列。
<?php
$blogusers = get_users( 'exclude=1,12'); //WordPress's get_users()
$split = array_chunk($blogusers,3);
// Array of WP_User objects.
foreach ( $split as $user ) {
echo '<div class="row">';
foreach ($user as $details){
// get user profile picture or default to a plain one
if (get_field('show', 'user_'.$details->ID)){
$img = get_field('profile_pic','user_'.$details->ID);
}
echo
//output each user
'<div class="columns small-4">
<div class="profile">
<div class="profile-image-wrap">
<img src="'.$img.'" class="team-image">
<a href="" class="profile-hover-link"><i class="fa fa-bars fa-bars fa-3x"></i></a>
</div>
<div class="profile-details-wrap">
<h4>'.$details->display_name.'</h4>
<h5>'.the_field('title', 'user_'.$details->ID).'</h5>
<div class="hr-wrap">
<hr class="team-hr">
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam aliquam massa quis mauris sollicitudin commodo.</p>
<a class="view" href="">view profile</a>
</div>
</div>
</div>';
}
echo '</div>';
}
问题在于这一行
<h5>'.the_field('title', 'user_'.$details->ID).'</h5>
它不会将输出插入到<h5>
标记中,如下所示。
我尝试在该行上使用双引号和单引号,但这并不能解决问题。
我该如何解决这个问题?
答案 0 :(得分:2)
我想你正在使用Advanced Custom Fields plugin。如果您查看docs for the_field
,就会看到它
显示指定字段的值。此功能与
相同echo get_field($field_name);
这正是你想要的。在您的情况下,您希望函数返回字段的值,而不是打印它。所以,将你的行改为
<h5>'.get_field('title', 'user_'.$details->ID).'</h5>
你很高兴。
在您的情况下,问题是您在将字符串打印到浏览器之前构建字符串。在此构建阶段,您需要调用the_field
,echo
执行自己的{{1}}。这就是为什么标题出现在整个div之前。