This topic has 13 replies, 2 voices, and was last updated 9 years, 10 months ago ago by Eva Kemp
I have an installation from 2013 version 3.0 of the theme running on WordPress 3.6.1 everything was working fine and suddenly the etheme_get_image function is not working no image is displayed because the data-img value is blank. Nothing has been updated on the site any ideas why it stopped working. I can’t easily update the theme to the latest was hoping you could point me in a direction as to why it would suddenly stop working. The images are there because the lightbox works.
Hello,
Please provide us with wp-admin panel and FTP credentials. Did you make any changes in the original theme files? May we update the theme?
Also please create a back up of your files and database.
Thank you.
Regards,
Eva Kemp.
Some mods were made to a few woocommerce template pages but that was in 2013 and nothing has been updated since and etheme_get_image has suddenly stopped working. I can’t let you update the theme because of the mods. I saw an earlier post about permissions – what do they need to be set to perhaps that is my problem although it seems strange that it was working fine and now suddenly the function does not send any value back but blank and the lightbox does display the images. Can you tell me what the function is trying to do here is the function in my version of the theme let me know if it has changed
function etheme_get_image( $attachment_id = 0, $width = null, $height = null, $crop = true, $post_id = null ) {
global $post;
if (!$attachment_id) {
if (!$post_id) {
$post_id = $post->ID;
}
if ( has_post_thumbnail( $post_id ) ) {
$attachment_id = get_post_thumbnail_id( $post_id );
}
else {
$attached_images = (array)get_posts( array(
‘post_type’ => ‘attachment’,
‘numberposts’ => 1,
‘post_status’ => null,
‘post_parent’ => $post_id,
‘orderby’ => ‘menu_order’,
‘order’ => ‘ASC’
) );
if ( !empty( $attached_images ) )
$attachment_id = $attached_images[0]->ID;
}
}
if (!$attachment_id)
return;
$image_url = etheme_get_resized_url($attachment_id,$width, $height, $crop);
return apply_filters( ‘blanco_product_image’, $image_url );
}
function etheme_get_resized_url($id,$width, $height, $crop) {
if ( function_exists(“gd_info”) && (($width >= 10) && ($height >= 10)) && (($width <= 1024) && ($height <= 1024)) ) {
$vt_image = vt_resize( $id, ”, $width, $height, $crop );
if ($vt_image)
$image_url = $vt_image[‘url’];
else
$image_url = false;
}
else {
$full_image = wp_get_attachment_image_src( $id, ‘full’);
if (!empty($full_image[0]))
$image_url = $full_image[0];
else
$image_url = false;
}
if( is_ssl() && !strstr( $image_url, ‘https’ ) ) str_replace(‘http’, ‘https’, $image_url);
return $image_url;
}
if ( !function_exists(‘vt_resize’) ) {
function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) {
// this is an attachment, so we have the ID
if ( $attach_id ) {
$image_src = wp_get_attachment_image_src( $attach_id, ‘full’ );
$file_path = get_attached_file( $attach_id );
// this is not an attachment, let’s use the image url
} else if ( $img_url ) {
$file_path = parse_url( $img_url );
$file_path = $_SERVER[‘DOCUMENT_ROOT’] . $file_path[‘path’];
//$file_path = ltrim( $file_path[‘path’], ‘/’ );
//$file_path = rtrim( ABSPATH, ‘/’ ).$file_path[‘path’];
$orig_size = getimagesize( $file_path );
$image_src[0] = $img_url;
$image_src[1] = $orig_size[0];
$image_src[2] = $orig_size[1];
}
$file_info = pathinfo( $file_path );
// check if file exists
$base_file = $file_info[‘dirname’].’/’.$file_info[‘filename’].’.’.$file_info[‘extension’];
if ( !file_exists($base_file) )
return;
$extension = ‘.’. $file_info[‘extension’];
// the image path without the extension
$no_ext_path = $file_info[‘dirname’].’/’.$file_info[‘filename’];
// checking if the file size is larger than the target size
// if it is smaller or the same size, stop right here and return
if ( $image_src[1] > $width || $image_src[2] > $height ) {
if ( $crop == true ) {
$cropped_img_path = $no_ext_path.’-‘.$width.’x’.$height.$extension;
// the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match)
if ( file_exists( $cropped_img_path ) ) {
$cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] );
$vt_image = array (
‘url’ => $cropped_img_url,
‘width’ => $width,
‘height’ => $height
);
return $vt_image;
}
}
elseif ( $crop == false ) {
// calculate the size proportionaly
$proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height );
$resized_img_path = $no_ext_path.’-‘.$proportional_size[0].’x’.$proportional_size[1].$extension;
// checking if the file already exists
if ( file_exists( $resized_img_path ) ) {
$resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] );
$vt_image = array (
‘url’ => $resized_img_url,
‘width’ => $proportional_size[0],
‘height’ => $proportional_size[1]
);
return $vt_image;
}
}
// check if image width is smaller than set width
$img_size = getimagesize( $file_path );
if ( $img_size[0] <= $width ) $width = $img_size[0];
// no cache files – let’s finally resize it
$new_img_path = image_resize( $file_path, $width, $height, $crop );
$new_img_size = getimagesize( $new_img_path );
$new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] );
// resized output
$vt_image = array (
‘url’ => $new_img,
‘width’ => $new_img_size[0],
‘height’ => $new_img_size[1]
);
return $vt_image;
}
// default output – without resizing
$vt_image = array (
‘url’ => $image_src[0],
‘width’ => $image_src[1],
‘height’ => $image_src[2]
);
return $vt_image;
}
}
Hello,
You can try changing permissions for the folders wp-content/uploads/2014/12 to 777.
Could you please provide us with wp-admin panel credentials to check the settings in admin panel?
Thank you.
Regards,
Eva Kemp.
Attached is the access
Hello,
The credentials are incorrect.
Please check them.
Did you change permissions for image folders?
Regards,
Eva Kemp.
Yes the image folder permissions are correct.
Please retry with the attached.
Hello,
When I tried to upload an image via Media in wp-admin panel I got the following error:
Is its parent directory writable by the server?
So the problem is folder with images has wrong permissions.
Could you please provide us with FTP credentials to check it? We won’t update anything without your permission.
Thank you.
Regards,
Eva Kemp.
The file permissions have been updated on that directory please try again. I do see images in the featured image section but it is also showing the path to the image but still nothing in the single product page.
Hello,
Sorry but in this case we recommend you to update the theme and WordPress to the latest versions.
Before update create a back up of your files and database to be able to restore it if something goes wrong.
Thank you.
Regards,
Eva Kemp.
Eva – do you have any reason why I now see the featured images on the home page but with the url above them when I saw nothing before? Why would it suddenly stop working if nothing has changed?
Thank you.
Thank you for your help it is now working.
Hello,
You’re welcome.
Regards,
Eva Kemp.
The issue related to '‘Image function etheme_get_image not working’' has been successfully resolved, and the topic is now closed for further responses