You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress开发:如何在PHP输出阶段为用户ID前置user_适配ACF?

解决WordPress中ACF当前用户字段输出的拼接问题

嘿,我明白你的需求了——既要正确输出当前用户的ACF字段,又不想改动$current_user变量(毕竟还要用在别的地方),其实只要在调用the_field的时候,把user_和用户ID正确拼接就行啦!

问题出在哪?

你原来的代码里,'user_$current_user->ID'是一个单引号包裹的字符串,PHP不会解析里面的变量,所以ACF收到的参数其实是字面量user_$current_user->ID,而不是你想要的user_2,这就导致字段无法正确输出。

正确的实现方式

我们只需要用PHP的字符串连接符.,把静态的user_和动态的用户ID变量拼接起来,这样既不会修改$current_user,又能生成ACF要求的格式:

<?php 
$current_user = wp_get_current_user(); 
// 用连接符拼接user_和用户ID,生成正确的参数格式
echo the_field('price_list', 'user_' . $current_user->ID); 
?>

可选的健壮性优化

如果你想确保只有登录用户才显示这个字段,可以加个登录判断,避免未登录时出现错误:

<?php 
$current_user = wp_get_current_user(); 
if (is_user_logged_in()) {
    echo the_field('price_list', 'user_' . $current_user->ID); 
}
?>

这样就完美解决你的问题啦,$current_user变量原封不动,ACF也能拿到正确的用户标识符~

内容的提问来源于stack exchange,提问作者Tom Hayes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:55:47