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

WordPress option.php文件部分核心函数如下:

• 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),更新选项值,基于钩子原理;

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?