Reputation: 2031
In the loop, I am using the following code to check that the file really exists or not
<?php
if(has_post_thumbnail()) {
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$url = trim('../../'.basename(wp_get_upload_dir()['basedir']).wp_get_upload_dir()['subdir'].'/'.end($explode));
echo $url;
if( file_exists($url)) {
$url = $url;
} else {
$url = '';
}
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
?>
<img src="<?php echo $url; ?>" alt="blog thumb">
that echo $url
is printing this url:
../../uploads/2019/07/5e026bb1-b58b-3df0-ae5f-2acd7d808ff3.jpg
but now it's not working. I can't determine that the $url
file really exists or not.
Updated:
if(has_post_thumbnail()) {
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['path'];
$url = $upload_path . '/' . end($explode);
if(file_exists($url)) {
$url = get_the_post_thumbnail('blog-thumb');
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
?>
<img src="<?php echo $url; ?>" alt="blog thumb">
Upvotes: 1
Views: 559
Reputation: 244
Let's try code below
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['path'];
$url = $upload_path . '/' . end($explode);
var_dump(file_exists($url));die;
Please, check your file in folder carefully.
Upvotes: 1