Не работает вывод первой картинки статьи, после перехода сайта на SSL сертиф(https)

OL
На сайте с 03.03.2016
Offline
18
856

Есть скрипт, с помощью которого осуществлялся вывод(ресайзинг) картинок-превью в анонсах из первой картинки в статье. После установки на доменное имя сайта сертификата SSL, скрипт перестал выводить картинки, по html-коду страницы видно также отсутствие генерации ссылок на сами картинки. По-сути скрипт перестал вообще что-либо генерировать, так как результатов его деятельности нету от слова совсем. При этот он никак не мешает работе сайта, только лишь отсутствуют превью в тех местах, где они должны быть. Если убрать сам скрипт из function.php, и оставить функцию его вывода, или наоборот, то тогда сайт ругается.

Сам виновник торжества:

function catch_that_image() {

global $post, $posts;

$first_img = '';

ob_start();

ob_end_clean();

$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);

$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image

$first_img = "/images/default.jpg";

}

return $first_img;

}

function aq_resize( $url, $width, $height = null, $crop = null, $single = true ) {

//validate inputs

if(!$url OR !$width ) return false;

//define upload path & dir

$upload_info = wp_upload_dir();

$upload_dir = $upload_info['basedir'];

$upload_url = $upload_info['baseurl'];

//check if $img_url is local

if(strpos( $url, home_url() ) === false) return false;

//define path of image

$rel_path = str_replace( $upload_url, '', $url);

$img_path = $upload_dir . $rel_path;

//check if img path exists, and is an image indeed

if( !file_exists($img_path) OR !getimagesize($img_path) ) return false;

//get image info

$info = pathinfo($img_path);

$ext = $info['extension'];

list($orig_w,$orig_h) = getimagesize($img_path);

//get image size after cropping

$dims = image_resize_dimensions($orig_w, $orig_h, $width, $height, $crop);

$dst_w = $dims[4];

$dst_h = $dims[5];

//use this to check if cropped image already exists, so we can return that instead

$suffix = "{$dst_w}x{$dst_h}";

$dst_rel_path = str_replace( '.'.$ext, '', $rel_path);

$destfilename = "{$upload_dir}{$dst_rel_path}-{$suffix}.{$ext}";

//if orig size is smaller

if($width >= $orig_w) {

if(!$dst_h) :

//can't resize, so return original url

$img_url = $url;

$dst_w = $orig_w;

$dst_h = $orig_h;

else :

//else check if cache exists

if(file_exists($destfilename) && getimagesize($destfilename)) {

$img_url = "{$upload_url}{$dst_rel_path}-{$suffix}.{$ext}";

}

//else resize and return the new resized image url

else {

$resized_img_path = image_resize( $img_path, $width, $height, $crop );

$resized_rel_path = str_replace( $upload_dir, '', $resized_img_path);

$img_url = $upload_url . $resized_rel_path;

}

endif;

}

//else check if cache exists

elseif(file_exists($destfilename) && getimagesize($destfilename)) {

$img_url = "{$upload_url}{$dst_rel_path}-{$suffix}.{$ext}";

}

//else, we resize the image and return the new resized image url

else {

$resized_img_path = image_resize( $img_path, $width, $height, $crop );

$resized_rel_path = str_replace( $upload_dir, '', $resized_img_path);

$img_url = $upload_url . $resized_rel_path;

}

//return the output

if($single) {

//str return

$image = $img_url;

} else {

//array return

$image = array (

0 => $img_url,

1 => $dst_w,

2 => $dst_h

);

}

return $image;

}

И функция вызова данного шедевра:

<?php $img_url = catch_that_image();

$image = aq_resize( $img_url, 312,220, true);

if($image) : ?> <img src="<?php echo $image ?>" class="alignleft"/> <?php endif; ?>

Сами превью можно выводить другим кодом: <img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" width="312" height="220" class="alignleft"/> но в данном варианте нету внутреннего ресайза, и этот вариант не является предпочтительным, и для этого кода функция ресайза вообще не нужна.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий