WordPress Option API(数据库储存 API)
WordPress Option API 是提供给开发者的数据库存储机制,通过调用函数,可以快速、安全的把数据存储到数据库里(都在 wp_options 表)。
每个设置的模式是 key – value,利于扩展。Option API 不仅仅给主题和插件开发者用,连 WordPress 的很多设置都存储在这里,比如网站名。
获取设置
获取设置是非常常用的操作,主要使用 get_option() 函数:
1 |
get_option( $option, $default ); |
参数:
$option
(字符串)(必须)要获取的设置的键名。
默认值:None
$default
(混合)(可选)当数据库中找不到指定的键值的时候,返回什么数据。
默认值:False
这个函数应该非常常见了,比如获取博客的名字:
1 |
$blogname = get_option( 'name' ); |
添加设置
添加设置用 add_option() 函数,用法:
1 |
add_option( $option, $value, $deprecated, $autoload ); |
参数:
$option
(字符串)(必须)要添加的设置的键名,不能重复,设置已经存在则不会添加。
默认值:None
$value
(混合)(可选)要储存的值,可以是任何数据类型,甚至是 Object.
默认值:空字符串
$deprecated
(字符串)(可选)历史遗留变量,现在已经无用,不设置或者留空字符串即可。
默认值:空字符串
$autoload
(字符串)(可选)是否将该设置加入缓存,填写 yes 或者 no.
默认值:yes
例子:
1 |
add_option( 'example_option', '保存一段话' );//保存字符串 |
注意,这个函数有一个重要的特性,就是如果指定键名的设置已经存在,就不会继续添加。
更新设置
更新设置用 update_option() 函数,它不管设置是否存在,都会添加或者更新。
参数:
$option
(字符串)(必须)要更新的设置的键名。
默认值:None
$newvalue
(混合)(必须)要更新的值,可以是任何数据类型,甚至是 Object.
默认值:None
例子:
1 |
update_option( 'example_option', '更新一段话2' );//更新字符串 |
删除设置
删除一个设置用 delete_option() 函数即可,直接指定键值就能删除。
参数:
$option
(字符串)(必须)要删除的设置的键值。
默认值:None
例子:
1 |
delete_option( 'example_option' ); |
小结
好好利用 Option API 可以轻松、安全的将数据保存到数据,省去麻烦的 Sql 语句。
WordPress Option API(数据库储存 API)的更多相关文章
- Atitit.一个cms有多少少扩展点,多少api wordpress  cms有多少api。。扩展点
Atitit.一个cms有多少少扩展点,多少api wordpress cms有多少api. . 扩展点 1. Api分类 WordPress APIs 1 1.1. 1 函数分类 2 1.2. 函 ...
- 数据库操作API 或万能的双下划线
数据库操作API: 类型 描述 exact 精确匹配: polls.get_object(id__exact=14). iexact 忽略大小写的精确匹配: polls.objects.filter( ...
- Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案
Atitit.跨语言数据库db api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- 应用程序员眼中的数据库管理系统:API+数据库语言
应用程序员眼中的数据库管理系统:API+数据库语言 sqlite3_open_v2 https://www.cnblogs.com/cchust/p/5121559.html
- 关于Django中的数据库操作API之distinct去重的一个误传
转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数 ...
- 用API网关把API管起来
最开始只是想找个API网关防止API被恶意请求,找了一圈发现基于Nginx的OpenResty(Lua语言)扩展模块Orange挺好(也找了Kong,但是感觉复杂了点没用),还偷懒用Vagrant结合 ...
- lumen 构建api(dingo api)
什么是 API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力, ...
- ASP.NET Core Web API 开发-RESTful API实现
ASP.NET Core Web API 开发-RESTful API实现 REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representa ...
随机推荐
- OpenStack虚拟机状态
OpenStack创建一个虚拟机,涉及到三种状态,vm_state,task_state和power_state. 先总结几点: 电源状态(power_state):是hypervisor的状态,从计 ...
- [转]asp.net解决高并发的方案.
本文转自:http://www.cnblogs.com/qq75077027/archive/2012/11/27/2791703.html 最近几天一直在读代震军的博客,他是Discuz!NT的设计 ...
- mac os利用xampp实现apache下的cgi
折腾了两天终于把问题解决了,mac os是10.10.3..够新了吧 系统原生的apache配置cgi老是配不好,突然发现xampp也有macos版的,准备下下来试试. 安装完成后,打开apache服 ...
- CSU 1116 Kingdoms
题意:给你n个城市,m条被摧毁的道路,每条道路修复需要c元,总共有k元,给你每个城市的人口,问在总费用不超过k的情况下 与1号城市相连的城市的最大总人口(包括1号城市) 思路:1号城市是必取的,剩余最 ...
- RabbitMQ 一二事 - 简单队列使用
消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...
- 第20章 DLL高级技术(1)
20.1 DLL模块的显式载入和符号链接 20.1.1 显式载入DLL模块 (1)构建DLL时,如果至少导出一个函数/变量,那么链接器会同时生成一个.lib文件,但这个文件只是在隐式链接DLL时使用( ...
- np问题
NP(np) Time Limit:1000ms Memory Limit:64MB 题目描述 LYK 喜欢研究一些比较困难的问题,比如 np 问题.这次它又遇到一个棘手的 np 问题.问题是这个样子 ...
- 【hibernate】<第一节>hibernate简单入门
所需工具: ide:eclipse or myeclipse jdk:1.7 jar包:hibernate-distribution-3.6.0.Final 和对应mysql的驱动类(对应jar包如图 ...
- java 14 -1 正则表达式
正则表达式:符合一定规则的字符串. 1.判断QQ号码是否正确的案例: public class RegexDemo2 { public static void main(String[] args) ...
- zepto的tap事件的穿透分析
首先是什么情况下会发生zepto(tap)的事件穿透: 当一个弹出层用tap点击之后这个层隐藏或者是移走,都会触发下面对应位置的点击事件(click)和一些标签的默认行为(a标签的跳转.input获取 ...