极简版单页设置框架 – wordpress开发

这是一个功能简洁小巧的设置框架,适合哪些轻量化开发的wordpress主题或是插件

在制作wordpress主题时总需要在后台设置一些主题选项留给使用者来自定义,有时候我们也需要在后台增加一些简单功能设置,这时候我们应该如何做呢?

一般来说有两种方案:

  1. 使用WordPress的Settings API。要求的编程能力强,熟悉php;
  2. 使用现成的主题选项框架:如Options Framework Theme。要求起码能懂PHP代码,要熟悉和理解使用的主题框架。

我打算为主题添加一个全站的SEO功能,需要设置一些简单的选项,这两种方案在我看来都不太合适的。第一种太难了,PHP小白的我果断放弃了;第二种还可以考虑,但是我需要的功能只是几个文本框和选择框就能实现,用主题框架就显得块头太大,臃肿,杀鸡用牛刀了,而且我还不熟悉这个框架,还需要花时间学习和实践,所以并非一个好选择。

最理想就是有一个简单的主题后台选项的模板,有几个核心的功能选项,如:文本框,多行文本框、选择框、下拉框、单选按钮,我可以直接修改套用,不需要熟悉PHP,也不需要看使用说明。那么有没有这种简单的后台选项模板呢?我还真找到的一个:

我自己修改了一下代码,前台文字改成了中文 》更方便理解,增加了一个调用函数 》更方便options数据的调用,代码在文章末尾可以下载。后台实现的效果如下:

极简版单页设置框架 - wordpress开发

如何使用这个主题后台选项模板

1、把theme-options.php文件放到主题根目录;

2、在主题functions.php文件添加:

require_once ( get_template_directory() . '/theme-options.php' );

如果是子主题则改成:

require_once ( get_stylesheet_directory() . '/theme-options.php' );

3、根据的自己需求修改模板中的文本,参数;

4、主题调用参数:

<?php echo qw_get_option('sometext');?>

模板中一些代码说明

add_action( 'admin_init', 'theme_options_init' );
add_action( 'admin_menu', 'theme_options_add_page' );

动作钩子

function theme_options_init(){
register_setting( 'sample_options', 'sample_theme_options', 'theme_options_validate' );}

register_setting注册wp_options字段函数,sample_options为注册字段所属的分组(group),sample_theme_options为注册字段名称。在数据库wp_options表中可以看到:

极简版单页设置框架 - wordpress开发

sample_optionssample_theme_options都可以修改成你自己模板的名称,如:名为是sky的模板,可以改成:

function theme_options_init(){
register_setting( 'sky_options', 'sky_theme_options', 'theme_options_validate' );}

注意:如果参数改名,后面的要一并更改过来!

function theme_options_add_page() {
add_theme_page( '主题选项', '主题选项', 'edit_theme_options', 'theme_options', 'theme_options_do_page' );}

add_theme_page函数在后台“外观”菜单项下面新建一个菜单项:

add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function);//page_titile-title标签的内容//menu_title-显示在后台左边菜单的标题//capability-访问这个页面需要的权限//menu_slug-别名,打开访问的网址,需要独一无二//function-执行的函数
function theme_options_do_page() {}

后台选项设置表单,分别是:文本框、选择框、下拉框、单选按钮、多行文本框,大家可以根据自己的需求增减,修改相关参数名称,修改文本名称。

function theme_options_validate( $input ) {}

表单输入过滤函数,确保输入数据的安全合法,这里的参数修改要对应上面参数来修改。

if ( ! function_exists( 'qw_get_option' ) ) :function qw_get_option( $name, $default = false ) {
 $options = get_option( 'sample_theme_options' );if ( isset( $options[$name] ) ) {return $options[$name];}return $default;}
endif;

在数据库中,sample_theme_options字段保存的数据是以数组的形式储存,这是我们调用数据的方法:

<?php
 $options = get_option('sample_theme_options');
 echo $options['sometext'];
?>

qw_get_option函数是我额外添加的函数(源代码里并没有),主要为了更容易主题调用参数,调用方法:

<?php echo qw_get_option('sometext');?>

经验:

我使用这款框架开发了一款插件,其中比较突出的内容在这篇文章中有讲解:

使用极简版单页设置框架开发插件 – wordpress文档

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余

给TA赞赏
共{{data.count}}人
人已赞赏
⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
购物车
优惠劵
搜索