【问题标题】:Advanced Custom Fields not saving at all now高级自定义字段现在根本不保存
【发布时间】:2013-06-18 03:43:49
【问题描述】:

前几天我下载并安装了 Advanced Custom Fields 4.1.6,我用了几次,效果很好,但由于某种原因,现在我的自定义字段似乎都没有保存,我没有得到任何错误或任何东西。我认为我根本没有做过任何可能破坏这一点的事情。

这是否发生在其他人身上?可能是什么问题?

【问题讨论】:

  • 可能是一个冲突的插件?尝试停用其他插件,看看哪个插件破坏了它..
  • 好吧,我只激活了一个插件,所以不可能是那个
  • 奇怪,从来没有任何问题。最新的wordpress? WP_DEBUG 是否启用?
  • 是的,两者都有。嗯,我是 Wordpress 和这个插件的新手,我喜欢在我的 functions.php 中注册自定义字段(我必须正确?对此有点困惑)但这似乎也不起作用,我很确定我做对了,因为我看了教程和所有内容.. 嗯
  • 我不需要在 functions.php 中为这个插件做任何事情。您可以通过管理员进行全部配置,有一个“自定义字段”管理部分(靠近管理菜单底部)

标签: wordpress wordpress-theming field


【解决方案1】:

我想你可能需要看看插件提供的导出功能。选择您创建的字段组并点击导出。它会生成一些带有提示和建议的很好注释的代码。那里可能有一些对'ya有用的信息。

插件开发者的示例:

包含在主题中

高级自定义字段插件可以包含在主题中。为此,请将 ACF 插件移动到您的主题中,并将以下代码添加到您的 functions.php 文件中:

include_once('advanced-custom-fields/acf.php');

要从 ACF 插件中删除所有可视界面,您可以使用常量来启用精简模式。将以下代码添加到您的 functions.php 文件中 include_once 代码之前:

define( 'ACF_LITE', true );

希望对你有帮助。

/保罗

【讨论】:

  • 谢谢,但是当我这样做时,我收到一个致命错误:致命错误:无法重新声明 acf_filter_post_id()(之前在 /home/ohsinc/public_html/dev/sagesure/wp-content/plugins/ 中声明) advanced-custom-fields/core/api.php:21) 在 /home/ohsinc/public_html/dev/sagesure/wp-content/themes/sagesure/advanced-custom-fields/core/api.php 第 65 行跨度>
  • 好的,我已经弄清楚我认为发生了什么。它似乎只为“主页”页面执行此操作,但是我可以将它们和所有内容添加到我网站的任何其他页面上,并且效果很好。因此,由于某种原因,它无法在我的主页上运行,在我的文件中也将其重命名为“home-2.php”,因为它必须这样才能运行。也许这与它有关? idk,它仍然显示在“如果Page等于Home则显示字段组”列表中
  • 嗨,对不起,我没有时间回复,我明天试试。 ATM 我在我的手机上。
  • 致命错误的原因可能是您在使用导出功能时仍然激活了插件。 home-2.php .. 我不知道那可能是什么。尝试 211 主题中的内容以排除任何主题问题。通常,当您安装 ACF 时,无需在任何文件中执行任何操作来使插件正常工作。您唯一要做的就是添加一些 php 来检索数据,例如: the_field('field_name');?>
【解决方案2】:

由于我的声望不够高,无法回复@Kortschot 的回复,所以我会在这里发表评论。

我在测试新主题时遇到了这个错误。主题似乎已将 ACF 捆绑到主题中,这会触发“无法重新声明 acf_filter_post_id()”错误。出于显而易见的原因(您不能在同一安装中运行插件的两个实例)。 @Kortschot 提到在主题中包含 ACF 有助于解决我的问题。

如果我想自定义页面/帖子上的字段,现在我必须弄清楚如何访问 ACF...

【讨论】:

    【解决方案3】:

    我将继续回答这个老问题,希望它可以帮助某人。我一直有这个问题,我的字段不会在我的自定义帖子上更新。我通常会打开多个选项卡,以便在 WP 的后端进行导航。事实证明,当我关闭除当前正在编辑的当前选项卡之外的所有其他选项卡时,字段每次都会更新!

    【讨论】:

      【解决方案4】:

      我对高级自定义字段插件有同样的问题,我通过在高级自定义字段/core/controllers/post.php 中添加一行代码来解决我的问题

      add_action('pre_post_update', array($this, 'save_post'));
      

      之后

      add_action('save_post',array($this, 'save_post'), 10, 1);
      

      第 33、34 行。

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,并通过创建唯一的字段名称来解决它。

        【讨论】:

          猜你喜欢
          • 2020-01-22
          • 2016-07-17
          • 2013-04-21
          • 2017-12-16
          • 2013-07-14
          • 2017-08-28
          • 2018-08-06
          • 2012-09-27
          • 2013-11-25
          相关资源
          最近更新 更多