提问人:alexconnor7 提问时间:11/14/2023 更新时间:11/14/2023 访问量:28
在WP_User_Query中使用模板部件时,如何获取用户的 ACF 数据?
How can I get a user's ACF data when using a template part in a WP_User_Query?
问:
我正在使用模板部分在执行返回用户列表时为每个结果重复 HTML。但是,我发现高级自定义字段数据没有返回。WP_User_Query
// WP_User_Query arguments
$args = array(
'role' => 'advisor',
'number' => 6
);
// The User Query
$user_query = new WP_User_Query( $args );
if ( ! empty( $user_query->get_results() ) ) :
foreach ( $user_query->get_results() as $user ) {
get_template_part('template-parts/advisor');
}
endif;
...以及模板部件本身的简单示例:
<?php
$advisor_heading = get_field('advisor_heading', 'user_'.$user->ID);
?>
<div class="advisor__heading">
<h2><?php echo $advisor_heading; ?></h2>
</div>
因此,HTML 当然会返回,但 ACF 用户数据不会。如果我不使用模板部分,而是将其硬编码到 foreach 循环中,它可以正常工作,但在这种情况下,我需要使用模板部分。
希望有人能帮忙!
答:
0赞
katsucurry
11/14/2023
#1
可以通过 get_template_part() 函数传递参数。尝试通过函数传递用户变量。get_template_part()
get_template_part('template-parts/advisor', null, ['user' => $user]);
然后,在模板中,您可以从 args 数组中检索它。
$advisor_heading = get_field('advisor_heading', 'user_'.$args['user']->ID);
评论