ACF Pro - 字段显示在后端,但未保存(刷新时消失)

问题描述 投票:0回答:7

我有一个包含超过 15 个 ACF 小组的网站。其中一个有一个中继器,6 个字段中的最后一个是 URL(我尝试将其切换为文本,结果相同)。我在我的页面上看到该字段,我将其用作块(古腾堡)。我可以输入一个值,它会“保存”......或者我是这么认为的。如果我刷新页面,它就不再存在(该字段为空)。

现在,我继续切换到可视化编辑器 - 代码视图,然后......它不在那里。没有什么。我想知道:为什么它在我处于经典视图中时显示,而不是在代码视图中显示...显然,如果它不存在,则不会保存!

之后,我自己添加了代码,我看到了什么:它在那里,正在保存,而且仍然在那里。

自己添加代码是一个很大的禁忌,因为我正在为客户构建一个网站......必须有一个解决方案或已知的补丁......

(注意:我没有任何代码可以显示,因为它位于后端......并且与代码无关)

php wordpress advanced-custom-fields acfpro
7个回答
2
投票

可能原因:字段名称缺失或重复

https://stackoverflow.com/a/76272395/7733418中所述:
如果字段名称丢失或重复(如果两个或多个字段具有相同的名称),则会导致更新问题。在 ACF 中,“字段名称”充当 ID,因此它们应该存在并且是唯一的。


1
投票

我遇到了这个问题,并通过删除 /theme-name/acf-json/fr/ 目录中的文件来解决它。我偶尔会遇到这种情况。可能是因为我们使用 WPML(这解释了 /fr/)并且制作该网站的公司使所有字段都可翻译。


1
投票

通过编辑(或创建)Web 根目录中的 .user.ini 文件来增加最大输入变量。默认情况下,最大输入变量仅为 1,000。

max_input_vars = 2000

如果您有大量文本,您可能需要检查所有这些设置。

memory_limit = 128M
max_input_vars = 2000
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120

然后使用 php 信息文件确认您的更改生效。


0
投票

可能是原因 1:ACF 字段未保存

我还遇到了自定义字段未保存在后端编辑器中的问题。

在尝试此操作之前,您应该备份网站。如果您不知道该怎么做(保存 wp-content 文件夹、导出数据库),我推荐一个名为“All-in-One Migration”的免费插件来进行备份。

我的 ACF 字段未保存的解决方案:

  1. 复制 ACF 页面中的字段组。为此,请转到 acf 插件的字段组页面,将鼠标悬停在字段组名称上,现在应该有一个名为“Duplicate”的链接。
  2. 复制后删除“旧”字段组。您现在可以按照原来的方式命名新字段组。
  3. 您会注意到所有字段名称仍然相同,因此如果您在网站的模板文件中得到回显的字段,则它将起作用。现在只需为数据库中的字段添加新的“键”。
  4. 现在尝试在后台编辑器保存字段,不保存字段的问题应该解决了。

当我将网站部署到另一台服务器时,这对我很有帮助。有时必须使用这种重复方法重新定义键。


可能是原因2:保存过程无法完成

编辑网络服务器上的 php.ini 文件或联系主机来执行此操作并增加 max_input_vars 和 max_execution_time。 也许字段和值太多,因此超出了允许的最大输入变量。或者由于字段较多,保存过程花费的时间太长,因此达到了最大执行时间,保存过程无法运行到所有字段的末尾。


0
投票

我需要删除 ACF 组并重新创建它,以便数据更改的保存再次正常工作。


0
投票

我也遇到这个问题了。 我回到我的现场小组,结果发现我的中继器没有名字,也没有钥匙......

我填满了它们,现在它可以正常工作了。


0
投票

我已经尝试了几种建议的解决方案。唯一有帮助的是删除 wp-postmeta 表中的字段数据。我建议先备份。

© www.soinside.com 2019 - 2024. All rights reserved.