在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 相关文章推荐
用PHP开发GUI
Oct 09 PHP
用libtemplate实现静态网页生成
Oct 09 PHP
php 中英文语言转换类
Sep 07 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
smarty简单应用实例
Nov 03 PHP
yii添删改查实例
Nov 16 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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
改造一台复古桌面收音机
2021/03/02 无线电
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python将字符串转换成数组的方法
2015/04/29 Python
python3中zip()函数使用详解
2018/06/29 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
Python中的集合介绍
2019/01/28 Python
python实现五子棋小程序
2019/06/18 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
详解Python 函数参数的拆解
2020/09/02 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
机关门卫岗位职责
2013/12/30 职场文书
保险专业求职信
2014/07/07 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
廉政党课工作报告案例
2019/06/21 职场文书