[WordPress插件] Codestar Framework 设置框架,替换七牛CDN

content-image-0

由于 jsdelivr.net 备案注销,国内地区加载的时候经常失败。

由于 Codestar Framework 设置框架使用的CDN就是 jsdelivr ,于是每次进入WordPress后台的时候经常需要加载半天。

所以,为了解决这个问题,修改了一下 Codestar Framework 的CDN位置,改成了 Staticfile.org 。


  • 修改的是Free版本,也就是不带菜单、用户自定义、侧边栏、短代码等框架的版本,Premium版因为我也用不上。
  • 替换 font-awesome、webfont、codemirror、leaflet 的加载位置到七牛CDN。
  • 直接修改了 release 2.29 的代码,因为这个框架有些代码也是传了三代,调用方式并不统一。
内容被隐藏了哦…… 让我访问!

1、Codestar Framework 是支持直接作为WordPress插件加载的,理论上它可以直接覆盖主题内置的框架版本。

2、此修改后的版本可以直接替换掉主题内置的版本,但是需要注意检查并保留主题自定义的设置项。

Tips:这个设置框架在 2.0 版本之后修改了变量格式,于是一些比较老的主题是不能直接替换使用的。

codestar-framework.php 中,我额外定义了两个常量:

define('CODESTAR_TITLE', 'Codestar Framework <small>by Codestar</small>');
define('CODESTAR_TEXT', 'Thank you for creating with Codestar Framework.');

分别是框架的标题和底部文字。

Codestar Framework 算是各种花里胡哨的后台设置框架中比较简单易用的,一个简单的例子:

//在主题中引入设置框架
require_once get_template_directory() .'/cs-framework/codestar-framework.php';

//创建后台设置页面
if (class_exists('CSF')) {
    $prefix = 'aiya-cms';
    CSF::createOptions($prefix, array(
        'menu_title' => 'AiYa-CMS 设置',
        'menu_slug' => 'aiya-options',
    ));
}

//创建设置项
if (class_exists('CSF')) {
    $prefix = 'aiya-cms';

    //选项卡
    CSF::createSection($prefix, array(
        'id' => 'aya_basic',
        'title' => '外观设置',
    ));

    //设置组
    CSF::createSection($prefix, array(
        'parent' => 'aya_basic',
        'title' => '图片设置',
        'fields' => array(
            array(
                'type' => 'notice',
                'title' => 'LOGO设置',
                'content' => '',
            ),
            array(
                'id' => 'logo',
                'type' => 'upload',
                'title' => '顶部Logo图片',
                'placeholder' => 'http://',
                'button_title' => '上传',
                'remove_title' => '删除',
                'desc' => '上传网站Logo图片',
                'default' => '/image/logo.png'
            ),
            array(
                'id' => 'favicon',
                'type' => 'upload',
                'title' => 'favicon图标',
                'placeholder' => 'http://',
                'button_title' => '上传',
                'remove_title' => '删除',
                'desc' => '上传网站favicon.ico图标',
                'default' => '/image/favicon.ico'
            ),
        )
    ));
}

//获取设置内容
$options = get_option('aiya-cms');

echo $options['logo'];
echo $options['favicon'];

//或者

//创建设置项函数钩子
function aya_option( $option = '', $default = null ) {
    $options = get_option( 'aiya-cms' ); 
    return ( isset( $options[$option] ) ) ? $options[$option] : $default;
}

echo aya_option('logo');
echo aya_option('favicon');

官方文档可以查看此项目的Github:

https://github.com/Codestar/codestar-framework

官方的Demo:

http://codestarthemes.com/plugins/codestar-framework/wp-admin/

THE END
夜华子酱我知道你很急,但你先别急