acf:转发器字段返回不稳定的api数据,新字段在保存时不接受新数据

83qze16e  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(339)

我们正在工作的网站上星期坏了,我们不知道是怎么回事。以下是问题列表,以及我们为解决这些问题而采取的步骤:
在我们的api调用中,我们使用get\u field()和get\u fields()从中继器请求数据,但有时会返回null、false或数组长度。所有内容仍在数据库中。
当尝试创建新的转发器内容时,父转发器字段的子字段不会在第一次保存时保存,但一旦重新添加,就可以在以后保存。
创建新字段(任何字段,而不仅仅是中继器)时,密钥将从字段\u格式更改为与名称相同,即简短描述。
旧的转发器字段可以更新或保存到,而新的转发器字段不会保存数据。
故障排除步骤
停用所有插件
清洁安装acf pro 5
已将wordpress用户权限更改为默认设置:https://www.stevejenkins.com/blog/2015/09/correct-permissions-for-wordpress/
使用wp优化和扫描插件清理数据库
增加我们的最大变量设置:https://www.advancedcustomfields.com/resources/limit-number-fields/
尝试以这种方式注册帖子类型:https://www.freshconsulting.com/wordpress-custom-post-types-advanced-custom-fields/
尝试在函数文件中使用php构建字段组(未发生任何操作):https://www.advancedcustomfields.com/resources/register-fields-via-php/
尝试从导出的json文件构建字段,将键更改为唯一的(字段组在 Jmeter 板中可见,但某些字段无法导入,不保存错误仍然存在,将字段组添加到post类型是错误的)
提前感谢您提供的任何指导:)

rggaifut

rggaifut1#

原来是functions.php中的这段代码,我们用来在保存帖子时重新编写slug,这就是问题所在:

function myplugin_update_slug( $data, $postarr ) {
    if ( ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
        $data['post_name'] = sanitize_title( $data['post_title'] );
    }
    return $data;
}

sanitize_title()函数正在覆盖键字段,并导致acf无法跟踪这些字段。
我们通过激活一个干净的wp主题来解决这个问题,然后一旦我们确认它是我们子主题中的一些代码,我们就在functions.php文件中注解掉代码,直到发现有问题的函数为止。

相关问题