在WordPress中获取数据库字段内容和添加主题设置菜单


Posted in PHP onJanuary 11, 2016

get_option() 函数使用技巧
get_option()这个函数,实际上我们在整合后台功能的时候经常会用到的一个函数,主要用来从 WordPress 博客数据库 option 表中取得我们想要的字段内容的一个函数,在目前大部分的主题中,只要是主题集成了后台控制页面,也大都用到了这个函数,虽然 WP 给了我们很多方法去临时存储我们对主题的设置,但是用比较稳定的数据库去存储主题设置还是大部分主题作者的首选。

get_option() 函数的解释、用法网上还是有很多中文文献的,包括官方文档该函数也有中文版的解释,因为使用起来简单,思路比较清晰所以这里就不过多解释。
官方API :get_option
直接备忘用法

使用技巧
通常我们取设置的时候,会加一个判断,因为我们不知道主题是不是第一次在系统中安装,

if (!get_option('xiangzi')){//判断是否存在
 $default_xiangzi = array (//先设置一个默认值
 'title'=>'博客',
 'name'=>'翔子',
 'url'=>'pangbu.com');
 update_option('xiangzi', $default_xiangzi);
 //设置option的默认值
}
$xiangzi = get_option('xiangzi');//获取设置

很凑巧,出于某种原因 WP 官方为我们增设了get_option 函数的第二个参数
所以我们可以这样

$default_xiangzi = array (//先设置一个默认值
 'title'=>'博客',
 'name'=>'翔子',
 'url'=>'pangbu.com')
$xiangzi = get_option('xiangzi',$default_xiangzi);
//这样是不是很简单?

add_theme_page()函数-添加你的主题设置菜单
也许你会觉得,Wordpress 官方默认主题,是一个很蛋疼的主题,样式丑陋、并且功能简陋,有一种只有陋室铭这种励志类的文章才能鼓励你用下去的感觉,也许你会觉得这个主题除了给那些不会安装主题的菜菜菜菜菜鸟用之外几乎毫无用处,那你就错了。官方默认主题的最大用处就是有很大的研究价值,至少我目前的 WP 主题知识大部分都是通过研究默认主题得来的,今天研究的是add_theme_page()函数。

描述
add_theme_page()函数,在 WordPress 后台添加页面。在这里我们一般都是为了添加设置页面才用到该函数,当然你要是闲的蛋疼的话,你可以添加诸如个人说明的页面在后台。

使用

 

<?php 
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function); 
//page_titile-title标签的内容 
//menu_title-显示在后台左边菜单的标题 
//capability-访问这个页面需要的权限 
//menu_slug-别名,需要独一无二哦 
//function-执行的函数 
?>

$page_title, $menu_title, $capability, $menu_slug, $function 这几个参数比较常用。

因为add_theme_page()函数使用起来实在是太简单了,所以我们还是直接上代码吧。

实例

function xz_theme_options_add_page() {
 $theme_page = add_theme_page(
 '主题设置', //页面Titlee
 '主题设置', // 在后台菜单中显示的名字
 'edit_theme_options',   // 选项放置的位置
 'theme_options',    // 别名,也就是get传送的参数
 'xz_theme_op_page' //调用显示内容调用的函数
 );
}
function xz_theme_op_page (){//内容显示函数
 echo "我是主题编辑页面";
}
add_action( 'admin_menu', 'xz_theme_options_add_page' );

效果

在WordPress中获取数据库字段内容和添加主题设置菜单

添加后台菜单效果

PHP 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 PHP
php实现复制移动文件的方法
Jul 29 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 #PHP
详解YII关联查询
Jan 10 #PHP
PHP 设计模式系列之 specification规格模式
Jan 10 #PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 #PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 #PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 #PHP
PHP基于单例模式实现的mysql类
Jan 09 #PHP
You might like
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python getopt模块处理命令行选项实例
2014/05/13 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
python获取多线程及子线程的返回值
2017/11/15 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
社会保险接收函
2014/01/12 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
班级班风口号大全
2015/12/25 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
Python作用域和名称空间的详细介绍
2022/04/13 Python