在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 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
初品cakephp 入门基础
Feb 16 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
19个Android常用工具类汇总
Dec 30 PHP
php生成年月日下载列表的方法
Apr 24 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP CURL使用详解
Mar 21 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
php微信公众号开发模式详解
2016/11/28 PHP
两个Javascript小tip资料
2010/11/23 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
javascript基础知识讲解
2017/01/11 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
python实现识别相似图片小结
2016/02/22 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
区分python中的进程与线程
2020/08/13 Python
Django跨域请求原理及实现代码
2020/11/14 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
化工专业推荐信范文
2013/11/28 职场文书
培训主管岗位职责
2014/02/01 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
工作作风建设心得体会
2014/10/22 职场文书
教师个人自我评价
2015/03/04 职场文书
销售会议开幕词
2016/03/04 职场文书
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python