性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

使用Options Framework框架为自己的主题添加设置页面

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

自己写了一个主题没有设置界面,想弄一下SEO还要编辑文件,面对着一大批代码很烦有木有!

外国的大神写了一个设置框架:Options Framework

这货是轻量级的,使用wp的api,提供了常用选项,使用起来也很简单。

项目主页:https://github.com/devinsays/options-framework-theme

直链下载新版本:https://github.com/devinsays/options-framework-theme/archive/master.zip

刚点开感觉很奇怪对吧?

没错这货本身是一个主题……

废话不多说开始吧~

1.在主函数functions.php中加入以下代码(其实这个在Options Framework主题主函数functions.php里)(记得要放在<?php ?>之间)

1
2
3
4
if (!function_exists('optionsframework_init')){
	define('OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri().'/inc/');
	require_once dirname(__FILE__).'/inc/options-framework.php';
}

然后下载上面那个主题,把其中的inc、images文件夹和options.php文件放入你的主题根目录

打开你的后台~是不是多了一个设置页面呢?

2.添加设置选项

一般,options.php中选项是以这种方式出现的(非标明必填即为选填):

1
2
3
4
5
6
7
8
9
$options[] = array(
"name" =>'', //选项的名称
"desc" =>'', //介绍
"id" =>'', //必填,唯一标示
"std" =>'', //元素默认值
"class" =>'', //该类型元素class
"type" =>'', //表单元素类型
"settings"=>'' //仅当调用编辑器时使用
);

如果你想添加最上面那个可以切换的选项卡,添加以下代码(注:自此段代码开始直到下一个此类代码为止,中间这一段都被视作是这个选项卡以内的!

1
2
3
4
$options[] = array(
'name' => '新选项卡',
'type' => 'heading'
);

3.修改输出方式(非必须)

Options Framework的原本输出函数是of_get_option,如果你想更美观地让他出现,也为了便于记忆,可以进入inc/options-framework.php文件,找到72行和74行(以下1,2,3行分别对应72,73,74行):

1
2
3
if ( ! function_exists( '输出函数' ) ):
 
function 输出函数( $name, $default = false ) {

比如说,你想要的输出函数是get_jiecao,那么此处就为

1
2
3
if ( ! function_exists( 'get_jiecao' ) ) :
 
function get_jiecao( $name, $default = false ) {

4.调用设置

可以使用以下代码(此处的of_get_option被改成了get_jiecao,如有需要请自行修改)(请注意要使用echo!):

1
<?php echo get_jiecao('相应的id', '如果没有内容则输出我'); ?>

5.使用JavaScript

由于此框架的安全机制,回自动过滤掉js,object等,如需使用(比如说你想加一个统计代码,就必须使用这个否则js会无效),请在第一步的代码后加入此段代码:

1
2
3
4
5
6
7
add_action('optionsframework_custom_scripts', 'optionsframework_custom_scripts');
function optionsframework_custom_scripts(){ ?>
<script type="text/javascript">
	你的js代码
</script>
<?php
}

6.完

此教程只是简单地告诉你如何使用此框架,要靠你自己去探索才能真正地熟练地使用它!

沃鹏科技 - 专业的WordPress建站服务平台

关于 HjtHjtHjt

博客:https://jakting.com

6 条评论

  1. 冰镇椰子汁

    我按照这个教程操作了,选项中输入了$id的内容,页面中却无法显示$id的内,总是$std的内容,怎么回事?

  2. 这个挺有用的,正好不知道怎么开发后台

  3. :sad: 这个功能厅强大的,如果说能把判断前端数据输出就牛逼了

  4. 一直在用,但是textarea输入中文会乱码……不科学

  5. 还是自己写一个靠谱

发表评论