在Wordpress网站上,我有作者可以提交可以评估和评论的内容和编辑。提交的内容使用它自己的帖子类型,评估完成后会显示带有文本和星级评分字段的ACF 5表单。
我的问题是一个概念问题,即将评估数据保存到:
我无法将其保存到帖子中,因为必须对不同的编辑进行评估。
我无法将其保存给用户(作者和编辑),因为作者可以提交各种内容,编辑可以评估不同的内容。
所以我需要将评估既不保存到提交的内容(post_1,post_2,...),也不保存给评估者(user_1,user_2,...),而是保存到一个独特的帖子和用户组合(evaluation_1_1,evaluation_1_2 ,. ..):
通常的方法是如何做到的?我是否必须创建新的内容类型"评估"参考提交的内容和评估编辑,并对每个评估进行查询,以了解内容是否已经过评估?
还是有更简单的方法吗?我认为像自定义 $ post_id :
'post_id' => "post_".$post_id."_".$uid,
答案 0 :(得分:1)
感谢ACF forum的帮助,我可以解决这个问题。诀窍是将评估数据保存为数组。
我使用从single.php模板加载的标准ACF表单组实现了这一点,并添加了以下挂钩:
挂钩 acf / update_value 并检索值:
$ value = get_post_meta($ post_id,$ field ['name']);
在同一个钩子中将$ value覆盖为数组:
$ value [get_current_user_id()] = $ value;
挂钩 acf / load_field 并检索值:
$ value = get_post_meta(get_the_ID(),$ field ['name']);
在数组的相同钩子提取值中:
$ field ['value'] = $ value [0] [get_current_user_id()];