有朋自远方来,不亦乐乎。
轻量级主题后台框架
原创 橘子书  发布于 1年前 ( 2017-06-26 ) 阅读: 1,449 次 评论: 4 条 A+

折腾主题,免不了要接触到主题的

有能力的大神自己写,惰惫的大神二开或者套用市面上的开源主题框架。至于小白嘛,老老实实用别人写好的主题框架吧。虽然不知其所以然,但好歹经过一番拆拆摸摸也能知其然。

因为我拆过不少主题,所以变相的也接触到了不少的主题框架,比如大前端的、知更鸟的、老赵的、知言的、多梦的、云落(Git)的……

其中,老赵的主题用的是codestar-framework,也是我最拿手、最喜欢的一个主题框架。因为真的太实用、太方便了。这也导致了我二开也好,想要新写也罢,第一时间会考虑这个主题框架。再者,主题框架作者居然一直在维护它,委实是个惊喜无限。

至于知言主题嘛,则是使用option-tree。这个框架,我用的不太顺手,而且还忒么用得很憋屈。因为也不知道为什么,这个框架里面的资源很多是加载CDN这类的节点,导致有时候能打开后台,却不一定打得开主题选项。

不过,今天不说这些强则强矣,奈何框架包动则1~2M以上的强大框架。而是介绍Git主题使用的轻量级主题框架,据说这个框架来自小影主题,可小影是谁我就不知道了,呃……这暴露了我接触的圈子太窄。

介绍

Git主题框架

资源

使用

1.引入主题框架文件

将theme-options.php文件扔到主题根目录,然后打开functions,写入以下代码:

require get_template_directory() . '/theme-options.php';
2.框架可使用的ID类型(type)

之所以要用到后台框架,主要是为了满足前端各种输出、以及各种功能的实现。比如输出文本、比如文章微博同步、比如SEO等关键词、描述的填写……

type类型:
subtitle //二级标题
number //数字框
checkbox  //复选框
select //单选框
password //密码框(密码不可见)
radio //单选框
text  //文本框
textarea //多行文本框

常用的也就这些,另外这个框架之所以轻量,是因为它砍掉了很多不必要的js、css,以及type等。比如上传图片的upload。直接使用text文本框代替即可。

3.调用函数
//调用函数
get_option('ID')

//条件判断
if (get_option('ID') == true){
    内容
}

//调用输出
<?php echo get_option('ID'); ?>
4.框架数组构建选项

以下用实例,讲解如何使用后台框架的文件,进行构建一个个可选项或输入项等。

1

打开theme-options.php,写进如下代码:

//公告栏
array(
        'name'  => '公告栏',
        'desc'  => '这里是输入公告内容',
        'id'    => 'loomob_notice', //自定义一个ID,用以函数调用该功能
        'type'  => 'textarea', //type类型,假如这是一个微博同步功能,要构建微博密码的输入框,那么可以将textarea改为password
        'std'   => '起始时默认内容'
    ),

前端调用方式。打开想要展示这个公告栏功能的文件,如header.php、或者index.php。在合适的位置,插入以下代码:

<?php echo get_option('loomob_notice'); ?>
2

选择项设置写法,如:

array(
        'name'  => '首页布局设置',
        'desc'  => '选择首页布局,让你的博客天天变换新花样',
        'id'    => 'loomob_layout',
        'type'  => 'radio',
        'options' => array(
            '博客' => 'loomob_blog',
            'CMS' => 'loomob_cms',
	     '杂志' => 'loomob_magazine',
            '图片墙' => 'loomob_figure_wall'
            '瀑布流' => 'loomob_cascade_flow'
        ),
        'std'   => 'loomob_blog' //默认是博客布局
    ),

打开index.php,写入主题数据调用的调用方式:

<?php
    if (get_option('loomob_layout') == 'loomob_blog') {
       //博客
    } elseif (get_option('loomob_layout') == 'loomob_cms') {
       //CMS
    } elseif (get_option('loomob_layout') == 'loomob_magazine') {
       //杂志
    } elseif (get_option('loomob_layout') == 'loomob_figure_wall') {
	//图片墙
    } else {
       //瀑布流
    }
?>

总结

以上就是介绍跟使用了,至于DEMO,我就不贴图了。

以下嘛,是主题后台选项框架的完整代码,不想下载文件的童鞋,可以直接输入1234,查看并复制theme-options.php文件的完整代码。

注意:本段内容须输入密码才能查看:

Principle Team
龙砚庭官方QQ群,一个坚持强怼的7P成员群!
10人已关注

目前评论:4   其中:访客  2   博主  2

发表评论

莫慌,小狮子正在努力加载评论...
  1. 狂放
    狂放1 ( 2017.08.24 15:57:17 )  板凳

    个人比较喜欢options-framework,感觉很不错。谢谢分享啦,努力写主题ing

    • 橘子书
      橘子书渣渣橘 ( 2017.08.24 18:10:36 )

      @狂放 看个人喜好。如果写的主题功能十分强大跟繁多,那么一个完善的主题后台框架是很必须的(但与此同时,主题包会变得很大)。

  2. 懿古今
    懿古今1 ( 2017.06.27 9:19:01 )  沙发

    我就是用GIT这个框架,感觉比较简单使用