在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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
wordpress之wp-settings.php
Aug 17 PHP
php UTF8 文件的签名问题
Oct 30 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
php购物车实现方法
Jan 03 PHP
php里array_work用法实例分析
Jul 13 PHP
php需登录的文件上传管理系统
Mar 21 PHP
php表单提交实例讲解
Nov 12 PHP
Yii2中DropDownList简单用法示例
Jul 18 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
PHP项目多语言配置平台实现过程解析
May 18 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
谈谈新手如何学习PHP
2006/12/23 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
python如何定义带参数的装饰器
2018/03/20 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
python实现的Iou与Giou代码
2020/01/18 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
恶意软件的定义
2014/11/12 面试题
运动会方阵解说词
2014/02/12 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
导游词之阆中古城
2019/12/23 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
Hive常用日期格式转换语法
2022/06/25 数据库