WordPress自定义相册

/**
 * 添加升级会员提示框
 * 
*/
function vip_ti_shi( $content ='') {
    $user_id = is_user_logged_in() ? wp_get_current_user()->ID : 0; 
	$CaoUser = new CaoUser($user_id);
    if( !is_user_logged_in() ){
        if (pic_total()>4) {
            //未登陆状态广告代码
            $ad_code = '<div class="content-gallery-warning">
        	<i class="fa fa-info-circle"></i> 游客只可查看前<strong>3</strong>个优质裙 共更新<strong>'.pic_total().'</strong>个<a class="login-btn btn">登录</a></div>';
        }
        
    }elseif ($CaoUser->vip_status()) {
        if (pic_total()>4) {
        //已登陆的会员用户
        $ad_code = '<div class="content-gallery-warning"><i class="fa fa-vimeo-square"></i> 尊敬的VIP会员,您可查看全部<strong>'.pic_total().'</strong>个优质裙</div>'; 
        }
    }else{
       if (pic_total()>4) {
        //已登陆的普通用户
    	 $ad_code = '<div class="content-gallery-warning"><i class="fa fa-info-circle"></i> 普通用户只可查看前<strong>3</strong>个优质裙 共更新<strong>'.pic_total().'</strong>个<a href="/user?action=vip" target="_blank">升级VIP</a></div>'; 
       }
    }
	 
	$ad_code .= '<div class="content-gallery-warning" style="color: #f50689;">温馨提示:点击图片放大后再扫码,非会员只可查看前3个</div>';
	return $ad_code;
}


// 组合短代码
// 组合短代码
add_filter('the_content', 'tu_gallery'); 
function tu_gallery($content){
    global $post;
    $post_id = $post->ID;
    $user_id = get_current_user_id();
    $CaoUser = new CaoUser($user_id);
    // print_r($CaoUser->vip_status());echo '状态';die;
    $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";
    preg_match_all($pattern, $content, $mat);
    $sy_img = count($mat[0]);
    //文章图片大于5张,并且没有付费短代码
    if ($sy_img>5&&!stripos($content,'[rihide]')) {
        //$pattern = "/<img(.*?)data-original=('|\")([^\"]*)('|\")([^>]*)>/i";
        //$pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";
    	$preg = preg_match_all($pattern,$content,$matches);
    	//print_r($matches[3]);die;
        
        if ( wp_is_mobile() ) {
            $content .=vip_ti_shi().'<div id="gallery-1" class="gallery galleryid-868861 gallery-columns-3 gallery-size-thumbnail">';
        }else{
            $content .=vip_ti_shi().'<div id="gallery-1" class="gallery galleryid-868861 gallery-columns-5 gallery-size-thumbnail">';
        }
        $i=0;
        //去掉多余的图片
        // foreach ($matches[3] as $arr){
        //     $content =   preg_replace ($pattern,'',$content);
        // }
        $content= preg_replace('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', '', $content);
        $content = str_replace(array("\r\n", "\r", "\n"), "", $content);
        // $content=preg_replace('/<p>(.*?)<\/p>/i','啊啊',$content);

        
        foreach($matches[3] as $img){
        	++$i;
        	if($i>500){
        	    break;
        	}
        	$RiProPayAuth = new RiProPayAuth($user_id,$post_id);
           
            $zhuang_tai=$RiProPayAuth->ThePayAuthStatus();
        	//查找是否有添加过付费短代码,并且图片大于4张,并且不是会员
            if(!stripos($content,'[rihide]')&&$CaoUser->vip_status()!=1){
                // echo '1+';
                //11代表免登陆  已经购买过 输出OK
                //21代表登陆后  已经购买过 输出O
            	if($i>3&&$zhuang_tai!=11&&$zhuang_tai!=21){
            	   // echo '2+';
            		$content .='
            		<figure class="gallery-item">
        		    <div class="gallery-icon portrait">
            			<a class="blur">
            			<img src="'.$img.'.jpg?x-oss-process=image/crop,x_0,y_0,w_300,h_300" class="attachment-thumbnail size-thumbnail lazyloaded" >
            			</a>
        		    </div>
        		    </figure>';
            	}else if($zhuang_tai==11||$zhuang_tai==21){
            	   // echo '4+';
                	$content .='
                	    <figure class="gallery-item">
                		<div class="gallery-icon portrait">
                			<a href="'.$img.'.jpg" data-fancybox="images">
                			<img src="'.$img.'.jpg?x-oss-process=image/crop,x_0,y_0,w_300,h_300">
                			</a>
                		</div>
                		</figure>';
            	}else{
            	    //前5张图片输出
            	   // echo '5+';
            	    $content .='
                	    <figure class="gallery-item">
                		<div class="gallery-icon portrait">
                			<a href="'.$img.'.jpg?x-oss-process=image/watermark,image_bG9nby5wbmc,g_center">
                			<img src="'.$img.'.jpg?x-oss-process=image/crop,x_0,y_0,w_300,h_300">
                			</a>
                		</div>
                		</figure>';
            	}
        	//判断没有添加过付费短代码,并且图片大于4张,并且是会员
            }else if(!stripos($content,'[rihide]')&&$CaoUser->vip_status()==1){
                
                // echo '6+';
                $content .='
                	    <figure class="gallery-item">
                		<div class="gallery-icon portrait">
                			<a href="'.$img.'.jpg" data-fancybox="images">
                			<img src="'.$img.'.jpg?x-oss-process=image%2Fquality,q_99%2Fresize,m_fill,w_200,h_200">
                			</a>
                		</div>
                		</figure>';
            }
        }
        $content .='</div>';
    }
    
    
    $content=str_replace("<br />","",$content);
    return $content;
}

猜你喜欢

转载自blog.csdn.net/t1174148618/article/details/116259336