是否可以将高级自定义字段内置到自定义的wordpress主题中,即,当用户安装主题时可以立即确定字段吗?

时间:2019-05-21 01:30:04

标签: wordpress wordpress-theming

所以说我创建了一些可以通过首页编辑器进行编辑的自定义字段。

我保存了这些更改,并希望主题用户能够在安装主题后尽快看到我作为所做的所有自定义字段

这样,我可以在整个网站上创建带有预定义自定义字段的主题,以便安装该主题的用户可以立即编辑自定义字段。

否则,通过高级自定义字段完成的所有工作都是毫无意义的,因为打包主题时,用户将无权访问存储文件的数据库。我希望我的要求是有道理的!

编辑:如果根本不可能,那么我会接受作为答案。如果不可能,那么我将需要导出,然后导入数据库,以便使自定义字段在主题正确安装后显示在客户端计算机上?

1 个答案:

答案 0 :(得分:3)

完全合理的问题,以及ACF考虑过的问题和created a guide for。本指南基本上分为两部分,我将在下面进行总结:

  • 实际的ACF插件必须包含在您的主题中,您可以通过以下两种方法之一进行操作:
    • 将实际的ACF PHP代码与您的主题(实际的插件文件)捆绑在一起
    • 或者,提供指向ACF plugin page的链接,并提示用户安装插件作为主题自述文件的一部分。
  • 包括与主题相关的特定自定义字段-这是您的问题主要询问的内容。同样,有几种不同的方法可以做到这一点:
    • 作为ACF的一项新功能,您可以使用JSON文件向主题注册自定义字段,而不是将配置存储在SQL数据库中。这是我个人使用的,因为它是crazy easy to configure(只需在主题的根目录中创建一个acf-json文件夹),并允许您使用版本控制(如GIT)来跟踪自定义字段更改。
    • 如果您喜欢旧方法,可以register your custom fields in your theme's functions.php file.

我可以提供一些其他信息:

存储ACF值而不是配置该怎么办?

对于给定的Wordpress安装,只有一个“数据库”,ACF将用户输入的具有自定义字段的值输入给给定帖子的方式存储在“ wp_postmeta”表中,方法是将该值与帖子ID关联起来,字段标签(可更改)和字段ID(永久)。

这实际上对您作为主题开发人员是有好处的,因为这意味着如果用户执行类似的操作来安装主题,输入一堆自定义字段值,意外卸载主题或切换到其他主题,然后想要重新启用它,不会丢失任何数据。

确保ACF随主题一起安装

如果您选择不将ACF源与主题捆绑在一起,而是提示用户通过plugin目录手动安装插件,则可能需要对主题进行一些检查以确保他们这样做。您可以在主题代码中的某些关键位置使用类似if(!function_exists('the_field')){ /* Block use of your theme until installed */ }之类的内容来检查是否安装了ACF,如果没有安装,请适当地处理并提示管理员安装。