rest api for random images
This commit is contained in:
		
							parent
							
								
									79ea6a20e3
								
							
						
					
					
						commit
						5197e50c2e
					
				| 
						 | 
					@ -1565,29 +1565,15 @@ function html_tag_parser($content) {
 | 
				
			||||||
        if (preg_match_all('/\!\{.*?\)\[.*?\]/i', $content,$matches)){
 | 
					        if (preg_match_all('/\!\{.*?\)\[.*?\]/i', $content,$matches)){
 | 
				
			||||||
        $i=0;
 | 
					        $i=0;
 | 
				
			||||||
        if ($i<sizeof($matches)) {
 | 
					        if ($i<sizeof($matches)) {
 | 
				
			||||||
            $content=str_replace($matches[$i],preg_replace(
 | 
					            $content=str_replace(
 | 
				
			||||||
                    '/!\{([^\{\}]+)*\}\('.$url_regex.'\)\['.$url_regex.'\]/i',
 | 
					                $matches[$i],
 | 
				
			||||||
                    '<a data-fancybox="gallery" 
 | 
					                preg_replace('/!\{([^\{\}]+)*\}\('.$url_regex.'\)\['.$url_regex.'\]/i','<a href="$2"><img src="$7" alt="$1" title="$1"></a>',$matches[$i]),
 | 
				
			||||||
                        data-caption="$1"
 | 
					                $content
 | 
				
			||||||
                        class="fancybox" 
 | 
					            );
 | 
				
			||||||
                        href="$2" 
 | 
					 | 
				
			||||||
                        alt="$1" 
 | 
					 | 
				
			||||||
                        title="$1"><img src="$7" target="_blank" rel="nofollow" class="fancybox"></a>',
 | 
					 | 
				
			||||||
                    $matches[$i]),
 | 
					 | 
				
			||||||
                $content);
 | 
					 | 
				
			||||||
            $i++;
 | 
					            $i++;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        $content=preg_replace(
 | 
					        $content=preg_replace('/!\{([^\{\}]+)*\}\('.$url_regex.'\)/i','<a href="$2"><img src="$2" alt="$1" title="$1"></a>',$content);
 | 
				
			||||||
            '/!\{([^\{\}]+)*\}\('.$url_regex.'\)/i',
 | 
					 | 
				
			||||||
            '<a data-fancybox="gallery" 
 | 
					 | 
				
			||||||
                data-caption="$1"
 | 
					 | 
				
			||||||
                class="fancybox"
 | 
					 | 
				
			||||||
                href="$2"
 | 
					 | 
				
			||||||
                alt="$1" 
 | 
					 | 
				
			||||||
                title="$1"><img src="$2" target="_blank" rel="nofollow" class="fancybox"></a>',
 | 
					 | 
				
			||||||
            $content
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        //Github cards
 | 
					        //Github cards
 | 
				
			||||||
        $content=preg_replace(
 | 
					        $content=preg_replace(
 | 
				
			||||||
| 
						 | 
					@ -1646,7 +1632,7 @@ function change_avatar($avatar){
 | 
				
			||||||
// default feature image
 | 
					// default feature image
 | 
				
			||||||
function DEFAULT_FEATURE_IMAGE() {
 | 
					function DEFAULT_FEATURE_IMAGE() {
 | 
				
			||||||
    if ( empty( akina_option('default_feature_image' )) ) {
 | 
					    if ( empty( akina_option('default_feature_image' )) ) {
 | 
				
			||||||
        return get_template_directory_uri().'/feature/index.php?'.rand(1,1000);
 | 
					        return rest_url('sakura/v1/image/feature').'?'.rand(1,1000);
 | 
				
			||||||
        //return 'https://api.mashiro.top/feature/?'.rand(1,1000);
 | 
					        //return 'https://api.mashiro.top/feature/?'.rand(1,1000);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return akina_option('default_feature_image').'?'.rand(1,1000);
 | 
					        return akina_option('default_feature_image').'?'.rand(1,1000);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								inc/api.php
								
								
								
								
							
							
						
						
									
										36
									
								
								inc/api.php
								
								
								
								
							| 
						 | 
					@ -12,6 +12,14 @@ add_action('rest_api_init', function () {
 | 
				
			||||||
        'methods' => 'GET',
 | 
					        'methods' => 'GET',
 | 
				
			||||||
        'callback' => 'cache_search_json',
 | 
					        'callback' => 'cache_search_json',
 | 
				
			||||||
    ));
 | 
					    ));
 | 
				
			||||||
 | 
					    register_rest_route('sakura/v1', '/image/cover', array(
 | 
				
			||||||
 | 
					        'methods' => 'GET',
 | 
				
			||||||
 | 
					        'callback' => 'cover_gallery',
 | 
				
			||||||
 | 
					    ));
 | 
				
			||||||
 | 
					    register_rest_route('sakura/v1', '/image/feature', array(
 | 
				
			||||||
 | 
					        'methods' => 'GET',
 | 
				
			||||||
 | 
					        'callback' => 'feature_gallery',
 | 
				
			||||||
 | 
					    ));
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -262,3 +270,31 @@ EOS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return $result;
 | 
					    return $result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 随机封面图 rest api
 | 
				
			||||||
 | 
					 * @rest api接口路径:https://sakura.2heng.xin/wp-json/sakura/v1/image/cover
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function cover_gallery() {
 | 
				
			||||||
 | 
					    $img_array = glob(get_wp_root_path(). "/themes/Sakura/cover/gallery/*.{gif,jpg,png}",GLOB_BRACE);
 | 
				
			||||||
 | 
					    $img = array_rand($img_array);
 | 
				
			||||||
 | 
					    $imgurl = $img_array[$img];
 | 
				
			||||||
 | 
					    $mimetype = end(getimagesize($imgurl));
 | 
				
			||||||
 | 
					    $imgdata = file_get_contents($imgurl);
 | 
				
			||||||
 | 
					    header("Content-type: ".$mimetype);
 | 
				
			||||||
 | 
					    echo $imgdata;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 随机文章特色图 rest api
 | 
				
			||||||
 | 
					 * @rest api接口路径:https://sakura.2heng.xin/wp-json/sakura/v1/image/feature
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function feature_gallery() {
 | 
				
			||||||
 | 
					    $img_array = glob(get_wp_root_path(). "/themes/Sakura/feature/gallery/*.{gif,jpg,png}",GLOB_BRACE);
 | 
				
			||||||
 | 
					    $img = array_rand($img_array);
 | 
				
			||||||
 | 
					    $imgurl = $img_array[$img];
 | 
				
			||||||
 | 
					    $mimetype = end(getimagesize($imgurl));
 | 
				
			||||||
 | 
					    $imgdata = file_get_contents($imgurl);
 | 
				
			||||||
 | 
					    header("Content-type: ".$mimetype);
 | 
				
			||||||
 | 
					    echo $imgdata;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -82,7 +82,7 @@ if ( akina_option('toggle-menu') == 'no') { ?>
 | 
				
			||||||
if (akina_option('cover_img')) {
 | 
					if (akina_option('cover_img')) {
 | 
				
			||||||
    $imgurl = akina_option('cover_img');
 | 
					    $imgurl = akina_option('cover_img');
 | 
				
			||||||
} else {
 | 
					} else {
 | 
				
			||||||
    $imgurl = get_site_url()."/wp-content/themes/Sakura/cover/index.php";
 | 
					    $imgurl = rest_url('sakura/v1/image/cover');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -75,7 +75,7 @@ mashiro_option.float_player_on = true;
 | 
				
			||||||
if (akina_option('cover_img')) {
 | 
					if (akina_option('cover_img')) {
 | 
				
			||||||
    $imgurl = akina_option('cover_img');
 | 
					    $imgurl = akina_option('cover_img');
 | 
				
			||||||
} else {
 | 
					} else {
 | 
				
			||||||
    $imgurl = get_site_url()."/wp-content/themes/Sakura/cover/index.php";
 | 
					    $imgurl = rest_url('sakura/v1/image/cover');
 | 
				
			||||||
} ?>
 | 
					} ?>
 | 
				
			||||||
mashiro_option.cover_api = "<?php echo $imgurl; ?>";
 | 
					mashiro_option.cover_api = "<?php echo $imgurl; ?>";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@ function get_avatar_profile_url(){
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
function get_random_bg_url(){
 | 
					function get_random_bg_url(){
 | 
				
			||||||
    if ( empty( akina_option('default_feature_image' )) ) {
 | 
					    if ( empty( akina_option('default_feature_image' )) ) {
 | 
				
			||||||
        return get_template_directory_uri().'/feature/index.php?'.rand(1,1000);
 | 
					        return rest_url('sakura/v1/image/feature').'?'.rand(1,1000);
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        return akina_option('default_feature_image').'?'.rand(1,1000);
 | 
					        return akina_option('default_feature_image').'?'.rand(1,1000);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue