WordPress日主题实现游客登陆下载功能

小编

发表文章数:84

热门标签

,
首页 » WordPress » WordPress日主题实现游客登陆下载功能

首先进入wordpress后台,主题设置-商城设置,关闭免登录下载

WordPress日主题实现游客登陆下载功能

然后修改代码文件rizhuti\inc\codestar-framework\rizhuti\widgets.rizhuti.php,将下载小部件工具更改为以下代码

/**
 * 下载信息小部件
 */
class widget_download extends WP_Widget
{
 
    public function __construct()
    {
        parent::__construct('widget_download', _the_theme_name() . ': 资源下载信息', array('classname' => 'widget-download'));
    }
    /**
     * [widget 下载小工具]
     * @Author   Dadong2g
     * @DateTime 2019-05-28T13:36:20+0800
     * @param    [type]                   $args     [description]
     * @param    [type]                   $instance [description]
     * @return   [type]                             [description]
     */
    public function widget($args, $instance)
    {
        extract($args);
        global $post;
        $type      = get_post_meta($post->ID, 'wppay_type', true);
        $price     = get_post_meta($post->ID, 'wppay_price', true);
        $demo_url  = get_post_meta($post->ID, 'wppay_demourl', true);
        $downData  = get_post_meta($post->ID, 'wppay_down', true);
        $infoArr   = get_post_meta($post->ID, 'wppay_info', true);
        $post_auth = get_post_meta($post->ID, 'wppay_vip_auth', true);
 
        // 优惠信息
        switch (intval($post_auth)) {
            case 1:
                $vip_infotext = '月费会员免费';
                break;
            case 2:
                $vip_infotext = '年费会员免费';
                break;
            case 3:
                $vip_infotext = '终身会员免费';
                break;
            case 4:
                $vip_infotext = '限时免费';
                break;
            default:
                $vip_infotext = '资源信息';
        }
        // 判断资源是否需要显示下载小工具
        if ($type >= 3) {
            // 检测当前用户是否已购买
            $user_id = is_user_logged_in() ? wp_get_current_user()->ID : 0;
            $shop    = new SHOP($post->ID, $user_id);
            if ($shop->is_paid()) {
                $content_pay = '';
                if ($downData && is_array($downData)) {
                    $new_downArr = $downData;
                } else {
                    #旧版本数据完美兼容处理wppay_down wppay_down_info
                    $new_downArr[] = array(
                        'name' => '立即下载',
                        'url'  => $downData,
                        'pwd'  => get_post_meta($post->ID, 'wppay_down_info', true),
                        'lock' => 1,
                    );
                }
                foreach ($new_downArr as $key => $value) {
                    $action_url = get_stylesheet_directory_uri() . '/action/download.php?id=' . $post->ID . '&url=';
                    $down_url   = ($value['lock']) ? $action_url . rizhuti_lock_url($value['url'], _hui('rzt_down_downkey')) : $value['url'];
                    $content_pay .= ' ' . $value['name'] . '';
                }
            } else {
                if (!_hui('no_loginpay') && !is_user_logged_in()) {
                    $content_pay = ' 登录购买';
                } else{
					if ($type == 4){
						$content_pay = '';
                if ($downData && is_array($downData)) {
                    $new_downArr = $downData;
                } else {
                    #旧版本数据完美兼容处理wppay_down wppay_down_info
                    $new_downArr[] = array(
                        'name' => '立即下载',
                        'url'  => $downData,
                        'pwd'  => get_post_meta($post->ID, 'wppay_down_info', true),
                        'lock' => 1,
                    );
                }
                foreach ($new_downArr as $key => $value) {
                    $action_url = get_stylesheet_directory_uri() . '/action/download.php?id=' . $post->ID . '&url=';
                    $down_url   = ($value['lock']) ? $action_url . rizhuti_lock_url($value['url'], _hui('rzt_down_downkey')) : $value['url'];
                    $content_pay .= ' ' . $value['name'] . '';
                }	
					}
					else {
                    $content_pay = 'ID) . '" data-post="' . $post->ID . '" class="btn btn-primary"> 立即购买';
                }
				}
            }
            echo $before_widget;
            echo '

‘; if ($price && $type != 4) { echo ‘

‘ . $price . ‘元

‘; } echo ‘

‘ . $vip_infotext . ‘

‘; // 下载购买信息 echo $content_pay; // 演示地址 if ($demo_url) { echo ‘ 演示地址‘; } //其他信息 echo ‘

‘; if ($infoArr) { foreach ($infoArr as $key => $value) { echo ”; } } echo ”; echo ‘

‘ . $value[‘title’] . ‘ ‘ . $value[‘desc’] . ‘
最近更新 ‘ . get_the_modified_time(‘Y年m月d日’) . ‘

‘; // 在线咨询信息 if (_hui(‘ac_qqhao’)) { echo ‘ 在线咨询‘; } echo ‘

‘; echo $after_widget; } } }

注意事项

  1. 因为太懒,所以没有进行3.3的测试,不过想来3.3版本应该是通用的。
  2. 修改前请注意备份,如果出了问题,自己哭去吧。
  3. 如果修改后未生效,请删除小工具重新添加。

未经允许不得转载:作者:小编, 转载或复制请以 超链接形式 并注明出处 守望者软件开发工作室
原文地址:《WordPress日主题实现游客登陆下载功能》 发布于2020-01-27

分享到:
赞(0) 生成海报

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册