यहाँ मेरा एक वर्डप्रेस इमेज फिल्टर का उपयोग करने पर है, मैंने चिप बेनेट द्वारा सुझाए गए एक का उपयोग करने की कोशिश की, लेकिन कोई सफलता नहीं मिली।
मैंने जो किया है वह एक कस्टम आकार बना रहा है और फिर प्रत्येक चित्र की जाँच करें क्योंकि यह बनाया गया है यदि यह उस विशिष्ट आकार का है और यदि यह है तो 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;
}
यदि आप उस कोड को अपनी थीम के फंक्शन्स में जोड़ते हैं। फाइल में, phpthumb को डाउनलोड करें और उस पथ को सेट करें जिसे आप जाने के लिए अच्छा होना चाहिए। मुझे मिल गया है अपने xampp के स्थानीय स्थापित पर काम कर रहा है तो उम्मीद है कि यह अन्य लोगों के लिए भी काम करना चाहिए। PhpThumb टिप्पणियाँ सरल डेमो उदाहरण से हैं।