在WordPress中获取数据库字段内容和添加主题设置菜单

yipeiwu_com6年前PHP代码库

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' );

效果

2016111144058498.png (444×668)

添加后台菜单效果

相关文章

PHP7安装Redis扩展教程【Linux与Windows平台】

本文实例讲述了PHP7安装Redis扩展的方法。分享给大家供大家参考,具体如下: linux中PHP7安装Redis扩展 1.依次执行 wget -c https://github....

JoshChen_web格式编码UTF8-无BOM的小细节分析

JoshChen_web格式编码UTF8-无BOM的小细节分析

但是在开发的过程中,发现一个小细节的问题,必须要打开F12才能看到的,原来,在head头部里面的所有引用的东西以及title等等,全部都跑到body里面去了,苦思冥想,百度、google...

shell脚本作为保证PHP脚本不挂掉的守护进程实例分享

前几天开始跑一份数据名单,名单需要提供用户名、是否有手机号、是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号、是否有邮箱必须得通过一个对外...

php中将网址转换为超链接的函数

复制代码 代码如下: function showtext($text){ $search = array('|(http://[^ ]+)|', '|(https://[^ ]+)|',...

php中如何防止表单的重复提交

复制代码 代码如下:<?php/* * php中如何防止表单的重复提交 */session_start();if (empty($_SESSION['ip'])...