在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 MSSQL 存储过程的方法
Dec 24 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
tp5.1 框架查询表达式用法详解
May 25 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
初识Laravel
2014/10/30 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
为你总结一些php系统类函数
2015/10/21 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
图文详解WinPE下安装Python
2016/05/17 Python
wxpython绘制圆角窗体
2019/11/18 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
python中remove函数的踩坑记录
2021/01/04 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
授权委托书范本
2014/04/03 职场文书
股东授权委托书范本
2014/09/13 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
前台文员岗位职责
2015/02/04 职场文书
绿里奇迹观后感
2015/06/15 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
详解Python flask的前后端交互
2022/03/31 Python