我已经创建了2个自定义领域的ACF(高级自定义字段)的职位。第一个是date,第二个是volume。volume字段应该能够从date字段中按照year获取数据。但是,什么都没有更新。
下面是代码:
function UpdateVolumeField(){
$post_id = false;
$date_field = get_field('date_created', $post_id);
$volume_field = get_field('volume', $post_id);
//Calculation
$year = date_format(date_create($date_field), 'Y');
$vol = 0;
for($i=2010; $i<=$year ;$i++) {
$vol += 1;
}
update_field('volume' ,$vol, $post_id);
}
add_action('acf/save_post', 'UpdateVolumeField');
“date_created”是日期字段,“volume”应根据“date_created”年份进行更新。
当在“date_created”字段中选择日期并更新帖子时,“volume”字段应自动更新,重新加载页面时可以看到。这里的“体积”字段将从2010年开始,因此向前。但没有任何更新。
我做错了什么(所有插件都更新到最新版本)?
2条答案
按热度按时间o2gm4chl1#
在你的代码中,post ID
$post_id
变量应该作为acf/save_post'
钩子的函数参数(动态变量)包含在内,而不是静态地将其包含在你的函数中的false
值中,允许从post中检索'date_created'和'volume'字段值,并允许更新'volume'字段值。请尝试以下重新访问的代码:
现在最好能成功。
lmyy7pcs2#
必须包含缺少的
$post_id
函数参数变量