我目前正在为学校建立家长招生门户。当用户(父母)注册时, 学生将作为自定义帖子类型(学生)创建-父母是每个学生帖子的作者。这些学生职位具有一种自定义的分类法, 称为状态, 用于确定是否已提交并审查了学生的录取表格。我正在使用acf_form()创建显示在前端并由父级用户填写的准入表单。每个学生目前有6个ACF字段组(6个表格)。我正在获取这些字段组的键, 并使用foreach循环遍历它们, 以显示每个字段组的6个单独的acf_form()表单。
创建学生信息后, 其状态会自动设置为”
进行中”
, 即家长正在填写表格。
我想要的是
当用户更新6的一个特定表单/字段组时, 我希望将学生的状态分类从”
进行中”
更改为”
已提交”
。为了进一步解释, 此表单是用户/父母需要完成的最终表单, 因此一旦他们按下acf_form()更新按钮, 就应该更新分类法。
所以本质上…
我正在寻找一种方法来保存acf_form(), 检查是否已更新的表单是特定表单(通过字段组键?), 然后更新状态分类法发布表单已提交的位置。
我尝试过的
我已经尝试过使用ACF的pre_save_post过滤器和save_post操作, 但是由于这两个函数只给了我$ post_id, 我无法找出一种方法来检查保存了哪个字段组。我只是从ACF文档中添加了代码, 然后尝试print_r()/从函数中回显数据, 以查看是否有任何方法可以检查字段组键, 但是更新页面时页面上没有任何内容acf_form()。
所以…
有谁知道我如何才能正确地执行该操作并获取正确的数据, 以使我能够进行所需的检查?
#1【更新特定acf_form()时更新帖子的分类法】我找到了一种方法来做自己想要的东西, 但是我觉得这不是一个很好的方法, 因此我仍然愿意接受建议。
编码:
function my_acf_save_post( $post_id ) {$keys_of_specific_field_group = array(
'field_5ce2970bc9fbd' =>
'', 'field_5ce29741c9fbe' =>
'', 'field_5ce297c7c9fc1' =>
'', 'field_5ce297ddc9fc2' =>
'', 'field_5ce297fac9fc3' =>
'', 'field_5ce2980ec9fc4' =>
'', 'field_5ce29874c9fc5' =>
'', '_validate_email' =>
''
);
if ( $_POST['acf'] === $keys_of_specific_field_group ) {wp_set_post_terms($post_id, array(21), 'status');
}}add_action('acf/save_post', 'my_acf_save_post', 1);
基本上, 我只是检查从$ _POST [‘ acf’ ]返回的字段键是否与我要检查的特定格式的字段的字段键匹配, 并且如果它们确实匹配, 则我正在更新帖子的状态分类法(array(21)是我要设置的” 已提交” 字词的ID)。
希望有一种更好/更好的方法来执行此操作, 就像将任何字段添加到字段组一样, 我将不得不手动更新代码。
推荐阅读
- 在WordPress自定义帖子类型循环中将ACF分类字段用作变量
- 无限的自定义字段WordPress
- 独特功能图片作为wordpress中每页的标题图片
- Understrap WordPress入门主题
- 将主题移至Web服务器后出现未定义的函数错误
- 02django 框架ORM 操作数据库,字段的增删改查
- ssh配置临时反向代理
- 测试jasn
- 03 django 框架 ORM 创建表关系,django请求生命周期流程图,版本区别