我一直在試圖找到解決方案,現在WordPress插件中的錯誤一段時間(我還沒有能夠得到開發人員的答覆)。該插件被稱爲ImageFX。WordPress ImageFX插件 - 沒有爲舊帖子創建圖片
基本上它爲上傳到WordPress的圖像創建圖像效果。我正在使用它將圖像變成灰度。但是,如果您創建一個頁面,保存它,然後再回來嘗試添加一個精選的圖像,該圖像將不會創建一個ImageFX圖像。你可以看到有人same problem here。
如何重現錯誤:
- 創建頁面
- 上傳並設置功能的拇指和發佈頁面(= ImageFX生產新的正確的縮略圖)
- 等待一段時間(我認爲1天) 。然後刪除特色的拇指,並刪除,如果從畫廊。
- 上傳新的縮略圖(=沒有由ImageFX創建的新縮略圖)。
另外,只要嘗試上傳圖像到舊的帖子/頁面。 ImageFX縮略圖將不會被製作。
我的猜測是這是有問題的代碼。 You can see the whole file here。
add_filter('wp_generate_attachment_metadata', 'imagefx_filter');
/**
* Creates all ImageFX intermediate sizes of the image based on imagefx_options
*
* @param mixed $meta Metadata for attachment.
* @return mixed $meta Modified metadata for attachment.
*/
function imagefx_filter($meta) {
global $imagefx_filters;
$options = get_option('imagefx_options');
foreach ($meta['sizes'] as $size => $info) {
if (empty($options['filter'][$size])) continue;
$filter = $options['filter'][$size];
if (empty($imagefx_filters[$filter])) continue;
$callback = $imagefx_filters[$filter];
$file = wp_upload_dir();
$file = trailingslashit($file['path']) . $info['file'];
list($orig_w, $orig_h, $orig_type) = @getimagesize($file);
if (IMAGETYPE_JPEG === $orig_type || apply_filters('imagefx_image_type', false, $orig_type)) {
$image = wp_load_image($file);
$callback($image);
$slug = $options['slug'][$size];
if (! empty($slug)) {
$newfile = substr($file, 0, -4) . '-' . $slug . substr($file, -4);
$info['file'] = substr($info['file'], 0, -4) . '-' . $slug . substr($info['file'], -4);
} else {
$newfile = $file;
}
if (IMAGETYPE_JPEG == $orig_type)
imagejpeg($image, $newfile);
do_action('imagefx_image_create', $image, $newfile, $orig_type);
$meta['sizes'][$size]['file'] = $info['file'];
}
}
return $meta;
}
如果你認爲你知道如何解決這個問題,但它太大#2工作的,請伸手,我公司將支付你的時間。
謝謝你們!
不,如果您將新圖像上傳到舊帖子並將其設置爲精選縮略圖,則不會生成ImageFX圖像。但正常的圖像上傳和工作。如果您創建新帖子並上傳圖像,則會創建ImageFX圖像。 –
剛更新的問題與如何重現錯誤的步驟。 –