wordpress option.php,WordPress 初始化核心文件 option.php 源码分析

option.php 文件位于 wp-includes 目录下,该文件提供跟 option 后台及默认选项相关的 API,无执行代码,文件部分核心函数如下:

get_option($option,$default= false);

检索并获取通过 option 表单设置的选项值,如果无此选项或选项无值则返回失败,也常用于获取插件选项值或检测是否需要升级;这些选项如 WP后台菜单->常规中设置的 admin_email、blogname、blogdescription、home、 posts_per_page 等;

wp_protect_special_option($option);

保护WordPress特殊选项不被修改;

form_option($option);

对选项值进行格式化处理,核心代码为esc_attr(get_option($option)),其中 esc_attr() 函数用于对选项值中特殊字符转义,如< , > , " ,  ' , &等;

wp_load_alloptions();

加载并缓存所有自动加载的选项;

wp_load_core_site_options($site_id= null);

加载并缓存常用选项,如 site_name、siteurl、site_admins 等;

update_option($option,$newvalue);

更新已存在的选项值,如果选项不存在则将添加选项值,但无法设置其是否自动加载,若要设置其自动加载则需要使用add_option() 函数;

add_option($option,$value= '',$deprecated= '',$autoload= 'yes');

增加一个新的选项,可以创建空值选项后期更新其值;

delete_option($option);

删除选项则避免删除受保护的WordPress选项;

delete_transient($transient);

删除临时值;

get_transient($transient);

获取临时值;

set_transient($transient,$value,$expiration= 0);

设置或更新临时值及生存时间等;

wp_user_settings();

缓存用户界面设置,若不存在 cookie 则采用最后一次保存的设置;

get_user_setting($name,$default= false);

获取选项的设置值,值来源于函数 get_all_user_settings();

set_user_setting($name,$value);

增加或更新界面用户设置;

delete_user_setting($names);

清除重置用户界面设置;

get_all_user_settings();

检索所有用户界面设置;

delete_all_user_settings();

重置当前用户界面设置;

get_site_option($option,$default= false,$use_cache= true);

根据选项名获取选项值;

add_site_option($option,$value);

新增选项,选项已存在则覆盖,主要借助 apply_filters() 和 do_action() 函数实现;

delete_site_option($option);

删除选项,借助 do_action() 钩子原理实现;

update_site_option($option,$value);

更新选项值,基于钩子原理;

2020012309512985.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值