制作wordpress主题时想给主题配备一个可以在后台设置的功能,如SEO设置,但是不会编写相关的php代码怎么办?后台主题配置框架来帮助你,Options Framework是国外大神通过wordpress api编写的轻量级wordpress后台设置面板框架,提供了常用的主题设置选项,最重要的是集成容易,使用简单,目前非常多的wordpress主题都在使用这个框架。
主题集成Options Framework框架教程:
1、下载Options Framework框架:https://github.com/devinsays/options-framework-theme/archive/master.zip
2、解压后,把options.php
文件和inc/
文件夹复制到自己主题的根目录
3、在自己主题的functions.php文件第一行<?php下面添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/inc/' ); require_once dirname( __FILE__ ) . '/inc/options-framework.php'; $optionsfile = locate_template( 'options.php' ); load_template( $optionsfile ); function optionsframework_custom_scripts() { ?> <script type="text/javascript"> jQuery(document).ready(function() { //自己的js代码 }); </script> <?php } |
提示:由于Options Framework框架的安全机制,会自动过滤掉js,object等代码,如果需要添加js代码(如统计代码),请添加到上述代码中的“//自己的js代码”位置。
添加完代码后,在后台——外观下面就会出现“Theme Options”主题配置选项,点击就可以进入主题设置页面。
添加主题设置选项
框架默认提供了所有的设置类型,包括文本输入框(text)、多行文本框(textarea)、图片上传(upload)、多选框(multicheck)、单选框(radio)、颜色选择、下拉选项(select)、编辑器(editor)等,各设置类型的代码可以在options.php文件查看,输出代码可以在index.php文件查看,下面博客吧简单介绍一下添加设置选项的方法。
代码结构
1 2 3 4 5 6 7 8 9 | $options[] = array( "name" =>'', //设置选项的名称 "desc" =>'', //设置选项的文字说明 "id" =>'', //设置选项的id,唯一,必填 "std" =>'', //设置选项的默认值 "class" =>'', //该类型元素class,可选mini、tiny、small "type" =>'', //设置选项的类型,如text "settings"=>'' //仅当调用editor编辑器时使用 ); |
1、文本输入框(text)
1 2 3 4 5 6 7 8 | $options[] = array( 'name' => 'SEO标题', 'desc' => '自定义首页title标题', 'id' => 'seo_title', 'std' => '', 'class' => 'mini', 'type' => 'text' ); |
输入文本框架内容代码:
1 2 3 4 5 | <?php if(of_get_option('seo_title')) { echo of_get_option('seo_title'); } ?> |
或者:
1 | <?php echo of_get_option('seo_title', '如果设置为空,则显示这里的内容'); ?> |
2、多选框架(multicheck)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $options[] = array( 'name' => '选择数字, 'desc' => '选择要显示的数字', 'id' => 'select_num', 'std' => '1' 'type' => 'multicheck', 'options' => array( 'one' => '1', 'two' => '2', 'three' => '3', 'four' => '4', 'five' => '5' ); ); |
输出设置:
1 2 3 4 5 6 7 | <?php if(of_get_option('seo_title')) { foreach(of_get_option('seo_title') as $num){ echo $num; } } ?> |
框架功能比较多,博客吧不一一介绍,有需要的用户可以自行研究压缩包里的options.php
和index.php
两个文件。