logo
Ask your WordPress questions! Pay money and get answers fast! (more info)

Victor Teixeira

Twitter

Bio:

I'm a Webdesigner that lives in Brazil. I like to create user centric designs with total focus on usability.

I mainly use WordPress as a content management system for my clients.

Answers Given: 33 (see them all)
Contests Won: 10
Prize Money Earned: $67
Questions asked: 0
Questions refunded: 0 (see all?)
Is a top asker (has the power to vote on anything):
Subscribes to all the discourse posted to the site?: No
Country: Brazil
City: NiterĂ³i
Netvotes this month (upvotes minus downvotes): 0
Netvotes of all time (upvotes minus downvotes): 0
Joined the site: September 21, 2010





Victor Teixeira's upvoted answers:






This member has no downvoted answers






Answers given to these questions:

See more?






Victor Teixeira has not voted on any questions






Victor Teixeira has not asked any questions






This member has not made any recommendations. If you are one of the top experts, please offer one now!






Victor Teixeira's discourse:

Written in response to wp_get_attachment() resize mod needed:

Actually there was a bug, new version:


/*
* Resize images dynamically using wp built in functions
* Victor Teixeira
*
* php 5.2+
*
* Exemple use:
*
* <?php
* $thumb = get_post_thumbnail_id();
* $image = vt_resize( $thumb,'' , 140, 110, true, 70 );
* ?>
* <img src="<?php echo $image[url]; ?>" width="<?php echo $image[width]; ?>" height="<?php echo $image[height]; ?>" />
*
* @param int $attach_id
* @param string $img_url
* @param int $width
* @param int $height
* @param bool $crop
* @param int $jpeg_quality
* @return array
*/
function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false, $jpeg_quality = 90 ) {

// 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 = 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 );
$extension = '.'. $file_info['extension'];

// the image path without the extension
$no_ext_path = $file_info['dirname'].'/'.$file_info['filename'];

$cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension;

// 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 ) {

// 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;
}

// crop = false
if ( $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;
}
}

// no cached files - let's finally resize it
$new_img_path = image_resize( $file_path, $width, $height, $crop, $jpeg_quality );
$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;
}

link

Written in response to wp_get_attachment() resize mod needed:

The jpeg quality will just work for newly generated images.
If the images were already resized they will not be processed again.

But you can delete the resized versions from ftp for them to be resized with the new quality.

link

See more?






Victor Teixeira has not had any questions refunded






Victor Teixeira has not posted any suggestions for appropriate prize amounts for questions.