นี่คือสิ่งที่ฉันใช้ในการใช้หนึ่งในฟิลเตอร์ภาพ wordpress ฉันพยายามใช้สิ่งที่ Chip Bennett แนะนำ แต่ก็ไม่ประสบความสำเร็จ
สิ่งที่ฉันทำคือสร้างขนาดที่กำหนดเองจากนั้นตรวจสอบแต่ละรูปภาพตามที่มันสร้างขึ้นถ้ามันมีขนาดเฉพาะและถ้าใช้ฟิลเตอร์ phpthumb แล้ว เป็นการดีที่ฉันต้องการจะสามารถตรวจสอบชื่อของขนาดภาพที่กำหนดเอง แต่ฉันยังไม่ได้คิดวิธีการดังกล่าว
add_theme_support( 'post-thumbnails' );
add_image_size( 'rounded-saturated', 250, 100, true );
require_once('path_to\phpthumb.class.php');
add_filter('image_make_intermediate_size', 'paul_rounded_filter');
function paul_rounded_filter($file) {
$info = getimagesize($file);
// check for our image size and do stuff
if($info[0] == 250 && $info[1] == 100)
{
// create phpThumb object
$phpThumb = new phpThumb();
$phpThumb->resetObject();
// set data source -- do this first, any settings must be made AFTER this call
$phpThumb->setSourceData(file_get_contents($file));
$output_filename = $file;
// PLEASE NOTE:
// You must set any relevant config settings here. The phpThumb
// object mode does NOT pull any settings from phpThumb.config.php
//$phpThumb->setParameter('config_document_root', '/home/groups/p/ph/phpthumb/htdocs/');
//$phpThumb->setParameter('config_cache_directory', '/tmp/persistent/phpthumb/cache/');
// set parameters (see "URL Parameters" in phpthumb.readme.txt)
$phpThumb->setParameter('fltr', 'ric|30|30');
$phpThumb->setParameter('fltr', 'sat|-100');
// generate & output thumbnail
if ($phpThumb->GenerateThumbnail()) { // this line is VERY important, do not remove it!
if ($phpThumb->RenderToFile($output_filename)) {
// do something on success
echo 'Successfully rendered to "'.$output_filename.'"';
//die;
} else {
// do something with debug/error messages
echo 'Failed:<pre>'.implode("\n\n", $phpThumb->debugmessages).'</pre>';
die;
}
} else {
// do something with debug/error messages
echo 'Failed:<pre>'.$phpThumb->fatalerror."\n\n".implode("\n\n", $phpThumb->debugmessages).'</pre>';
die;
}
}
if ( $width || $height ) {
if ( !is_wp_error($resized_file) && $resized_file && $info = getimagesize($resized_file) ) {
$resized_file = apply_filters('image_make_intermediate_size', $resized_file);
return array(
'file' => wp_basename( $resized_file ),
'width' => $info[0],
'height' => $info[1],
);
}
}
return false;
}
หากคุณเพิ่มรหัสนั้นลงในไฟล์ functions.php ของชุดรูปแบบของคุณให้ดาวน์โหลด phpthumb และกำหนดเส้นทางที่คุณควรไป ฉันได้รับมันทำงานบน xampp ติดตั้งท้องถิ่นของฉันดังนั้นหวังว่ามันจะทำงานสำหรับคนอื่นด้วย ความคิดเห็น phpThumb มาจากตัวอย่างตัวอย่างง่าย ๆ