wordpress - 高级自定义字段是否可以内置到自定义 wordpress 主题中,即当用户安装主题时可以立即确定字段?
问题描述
所以说我创建了一些可以通过首页编辑器编辑的自定义字段。
我保存了这些更改,并希望我的主题的用户能够在安装主题后立即看到我所做的所有自定义字段
这样,我可以在整个网站上创建一个带有预定义自定义字段的主题,这样安装主题的用户就可以立即编辑自定义字段。
否则,通过高级自定义字段完成的所有工作都毫无意义,因为当主题被打包时,用户将无法访问存储文件的数据库。我希望我的要求是有道理的!
编辑:如果这根本不可能,那么我会接受它作为答案。如果不可能,那么我需要导出然后导入数据库,以便在他们安装主题后正确地显示在客户端机器上的自定义字段?
解决方案
完全合理的问题,以及 ACF 已经考虑并为. 本指南基本上有两个部分,我将在下面总结:
- 实际的 ACF 插件必须包含在您的主题中,您可以通过以下任一方式完成:
- 将实际的 ACF PHP 代码与您的主题捆绑在一起(实际的插件文件)
- 或者,提供指向ACF 插件页面的链接并提示用户安装插件作为主题自述文件的一部分。
- 包括与您的主题相关的特定自定义字段 - 这是您的问题主要询问的内容。同样,有几种不同的方法可以做到这一点:
- 作为 ACF 的一项新功能,您可以使用 JSON 文件在主题中注册自定义字段,而不是将配置存储在 SQL 数据库中。这是我个人使用的,因为它非常容易配置(只需在主题的根目录中创建一个 acf-json 文件夹)并允许您使用版本控制(如 GIT)来跟踪自定义字段更改。
- 如果您喜欢旧方式,您可以在主题的 functions.php 文件中注册您的自定义字段。
我可以提供的一些额外信息:
ACF 值的存储,而不是配置呢?
给定的 Wordpress 安装只有一个“数据库”,ACF 存储用户为给定帖子的自定义字段输入的值的方式是在“wp_postmeta”表中,通过将值与帖子 ID、字段标签(可变)和字段 ID(永久)。
这实际上对作为主题开发人员的您是有益的,因为这意味着如果用户执行诸如安装您的主题之类的操作,输入一堆自定义字段值,意外卸载您的主题或切换到不同的主题,然后想要重新-启用它,不会丢失任何数据。
确保 ACF 与您的主题一起安装
如果您选择不将 ACF 源与您的主题捆绑在一起,而是提示用户通过插件目录手动安装插件,您可能需要在您的主题中进行一些检查以确保他们这样做。您可以在主题代码中的某些战略位置使用类似的东西if(!function_exists('the_field')){ /* Block use of your theme until installed */ }
来检查是否安装了 ACF,如果没有安装,请适当处理并提示管理员安装。
推荐阅读
- wpf - 仅在 XAML 中获取依赖属性错误
- javascript - 如何使用 JavaScript 获取文件和文件名?
- angular - 如何在角度2中全局设置时区
- redis - 类型=在 ubuntu16.04 上的 etc/systemd/system/redis.service 上的分叉工作失败
- c# - 获取非条件部分的子串
- c# - 单击停止循环按钮后,无法重新开始
- r - 使用 R 进行 LU 分解
- css - 如何在反应组件上添加多个类名
- performance - Http Range 请求将视频从 url 流式传输到 exoplayer
- laravel - 如何使用id从数据库中获取数据?