WordPress 函数 add_option()、get_option() 和 update_option()
像素鱼丸
11-22
240
0

WordPress 有三个操作 wp_option 表的函数: add_option()、get_option() 和 update_option()

add_option() 函数

add_option() 是WordPress的一个核心函数,它用于在WordPress数据库中的wp_options表中安全地添加一个新的选项/值对。这个函数对于存储网站的自定义设置、插件配置或其他需要持久化的数据非常有用。

基本的函数签名如下:

add_option( string $option_name, mixed $option_value, string $deprecated = '', string $autoload = 'yes' )
  • $option_name:必需参数,是一个字符串,表示要添加的选项的名称。这个名称应当具有唯一性,并且不应与WordPress内部保留的选项名冲突。
  • $option_value:必需参数,是要保存的选项值,可以是任何PHP变量类型,包括字符串、数字、数组或对象。如果传递的是复杂类型,WordPress会在保存到数据库前自动对其进行序列化。
  • $deprecated:此参数在旧版本中曾用于提供选项的描述,现已被废弃,但仍保留以便向后兼容。通常在现代的WordPress开发中,我们可以忽略此参数。
  • $autoload:可选参数,决定选项是否应在WordPress启动时自动加载。接受 ‘yes’ 或 true 表示自动加载,这适用于那些经常需要访问的选项;而 ‘no’ 或 false 表示不自动加载,适合那些不常用的大容量数据,以优化数据库加载性能。

示例代码:

// 添加一个自定义选项,比如网站的主题颜色
$theme_color = 'blue';
add_option( 'my_theme_color', $theme_color );

// 添加一个自动加载的选项,例如API密钥
$api_key = 'your_api_key_here';
add_option( 'my_plugin_api_key', $api_key, '', 'yes' );

需要注意的是,如果要添加的选项已经存在于数据库中,add_option() 不会执行更新操作,而是保持原有选项不变。若要更新已存在的选项,请使用 update_option() 函数。

get_option() 函数

get_option() 是WordPress中的一个核心函数,用于从数据库中获取已保存的选项值。在WordPress中,许多设置和配置信息会被作为“选项”存储在数据库中,这些选项可以包含网站的基本配置、主题或插件的相关设置等。

该函数的基本使用格式如下:

get_option( $option_name, $default_value );
  • $option_name:必填参数,是你要获取的选项名称,通常是一个字符串。例如,如果你有一个名为“my_theme_color”的选项,那么你需要传入’ my_theme_color ‘作为这个参数。
  • $default_value:可选参数,如果提供的 $option_name 不存在或者其值为空时,get_option() 函数将返回此默认值。如果不指定,默认值为 false。

举例来说,如果你想获取站点标题(在WordPress中被作为 “blogname” 选项存储),你可以这样调用:

$site_title = get_option( 'blogname' );

通过 get_option() 函数,开发者能够方便地访问和管理存储在WordPress数据库中的全局配置信息,实现对网站个性化设定的读取和展示。

update_option() 函数

update_option() 是WordPress的一个核心函数,主要用于在WordPress数据库中更新或插入选项(options)。WordPress中的选项是一种持久化存储机制,常用来保存网站的各种配置信息、主题设置或插件设置等。

基本语法结构为:

update_option( $option_name, $new_value, $autoload );
  • $option_name:必需参数,是一个字符串,代表你想要更新或创建的选项名称。
  • $new_value:必需参数,是要存储的新值。它可以是任何类型的数据,如字符串、数字、数组或对象。如果传递的是非标量类型,WordPress会自动将其序列化后存储。
  • $autoload:可选参数,决定该选项是否应该在WordPress启动时自动加载。可能的值是 ‘yes’ 或 true(表示自动加载)、’no’ 或 false(表示不自动加载)。若省略此参数,则默认大多数情况下会根据之前该选项的设置来决定是否自动加载。

例如,要更改或新增一个名为 my_website_color 的选项,并将其值设为 ‘blue’:

update_option( 'my_website_color', 'blue' );

此函数首先检查 $option_name 是否已经存在于数据库中。如果存在,它会更新该选项的值;如果不存在,则会如同 add_option() 函数一样,创建一个新的选项并赋予给定的值。由于它的这种特性,在不知道选项是否存在的情况下,update_option() 常被用来确保数据库中始终存在某个选项及其最新的值。

收藏
打赏
WordPress 使用 shortcode() 增加编辑器功能
上一篇
WordPress 文章页作者信息 get_the_author() 和 get_the_author_meta()
下一篇

发表评论

注册不是必须的

像素鱼丸
152 文章
0 评论
4 喜欢
最新文章

网站的 Cookie 弹窗

在当前的法规环境下(截至2026年4月),一个合规的Cookie弹窗设计必须遵循“透明、公平、明确”的原则,核心是确保用户拥有真正的选择权。 以下是现阶段设计合规Cookie弹窗的关键要点: 现阶段合规设计要点 禁止默认同意 弹窗出现时,所有非必要Cookie的选项都不能被预先勾选。用户必须通过一个明确的、主动的动作(如点击按钮或勾选方框)来表示同意。 提供平等的选择权 “拒绝”按钮必须在视觉上和 […]

网页设计中 banner、jumbotron、hero 都有什么区别

在网页设计和开发中,banner、jumbotron、hero 这些词通常指代页面顶部最引人注目的区域,但它们在具体含义和使用场景上有所区别。 🎯 核心概念辨析 Banner (横幅/条幅广告) 这是一个非常广泛的术语,通常指网页上任何矩形的广告或信息区域,可以出现在页面的顶部、侧边或底部。它更偏向于广告或信息展示的功能。 Jumbotron (巨幕) 这个词源于 Bootstrap 等前端框架, […]

宝塔 Nginx 拦截了 WordPress 返回 404 的状态

REST api 接口中,有段代码返回404,但是没有正常返回错误json: $wp_response = new \WP_REST_Response(array('error'=>'没有找到数据')); $wp_response->set_status(404); return $wp_response; 返回内容是: <html> <head><tit […]

Mirage 主题 v2.93.0 发布

更新内容: refactor 移除图片高宽比开关 refactor 移除全局的TOC生成开关 refactor 优化 header.php 中的seo模块和样式覆盖 feat 主题启用的时候,移除非当前主题注册的小工具 fix 修复分类小工具的bug feat 管理员打开后台,检查最当前设置首页布局的模块,如果缺少最新模块,就添加到隐藏模块列表中 fix 优化链接卡片样式 fix 优化热门文章样式 […]
生成中...
扫描二维码
扫描二维码
用户登录