将更新功能添加到你自己的WordPress主题中

相信有很多朋友开始写自己的原创WordPress主题,在这个时候通常很多都是借助于插件或是直接手动推送给用户,…

相信有很多朋友开始写自己的原创WordPress主题,在这个时候通常很多都是借助于插件或是直接手动推送给用户,无论您是不会写还是没时间折腾更新,或是怕在线更新功能会被盗版也提供更新了今天要讲的方法很不错哟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

//主题更新功能
add_filter(‘pre_set_site_transient_update_themes’, ‘theme_update’);
add_action(‘delete_site_transient_update_themes’, ‘deleteStoredData’)  
function get_current_theme( $name=false ){
    $theme = wp_get_theme();
    if($theme->get(‘Template’)){
        return $name ? $theme->parent()->get(‘Name’) : $theme->template;
    }else{
        return $name ? $theme->get(‘Name’) : $theme->stylesheet;
    }
}
function theme_update($value){
    $new_version=‘2.9.6’;//新版
    $new_url=‘https://www.xxxx.com/chameleons/’;//介绍页
    $new_package=‘https://www.xxxx.com/chameleons/xxx.zip’;//下载包
    //以上数据可以定义为post接受参数来赋予,这样可以很好的保护我们主题下载包,你可以加授权验证账号网站等
    //注意下方修改变量
    $version=‘2.9.5’;//旧版
    $state = get_option(‘update_chameleonS’);
    if ( empty($state) ){
        $state = new StdClass;
        $state->lastCheck = time();
        $state->checkedVersion = $version;
        $state->update = null;
    }
    if(version_compare($version, $new_version)<0) {
        $state->update = new StdClass;
        $state->update->version = $new_version;
        $state->update->url = urldecode($new_url);
        $state->update->package = urldecode($new_package);
        update_option(‘update_chameleonS’, $state);
    }
    global $theme_update_state;
    if(!isset($theme_update_state)) $theme_update_state = get_option(‘update_chameleonS’);

    if ( !empty($theme_update_state) && isset($theme_update_state->update) && !empty($theme_update_state->update) ){
        $update = $theme_update_state->update;
        $value->response[get_current_theme()] = array(
            ‘new_version’ => $update->version,
            ‘url’ => $update->url,
            ‘package’ => $update->package
        );
    }
    return $value; 
}
function deleteStoredData(){
    delete_option(‘update_chameleonS’);
}

当你添加搞定好就拥有了和WordPress默认主题更新功能啦,是否很简单呢,好了今天的将更新功能添加到你自己的WordPress主题中教程就写到这里了

类别:WordPress 进阶教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册