在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 相关文章推荐
初探PHP5
Oct 09 PHP
基于mysql的bbs设计(五)
Oct 09 PHP
PHP 文件上传全攻略
Apr 28 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
php异常处理捕获错误整理
Sep 23 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
thinkphp框架使用JWTtoken的方法详解
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
Terran剧情介绍
2020/03/14 星际争霸
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
24式加速你的Python(小结)
2019/06/13 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
职业生涯规划书的格式
2013/12/29 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
成绩单公证书
2014/04/10 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
如何写股份合作协议书
2014/09/11 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
2015年环卫工作总结
2015/04/28 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技