2010-11-11 77 views
1

當我爲attachment_fields_to_save添加過濾器時,我收到了奇怪的行爲,當我保存圖像時,它不想保存圖像元數據,如標題,描述和標題。如何自動生成自定義圖像尺寸

爲什麼我需要添加此過濾器?因爲我有很多使用此代碼自定義尺寸:

add_image_size("imagesize-940x360", 940, 360, true); 

而且圖像可能無法正確地放在好地方,因此用戶需要使用WordPress的真棒工具編輯圖像像裁剪和縮放。

由於某些愚蠢的原因(或者這可能是錯誤),Wordpress不會爲自定義圖像尺寸生成圖像。

爲了實現自定義尺寸的生成,當用戶在Wordpress圖像編輯器中按下保存按鈕時,我需要添加過濾器。這裏是我一直使用一塊代碼:

add_filter("attachment_fields_to_save", "rl_regenerate_image", 99, 2); 
function rl_regenerate_image($post, $attachment) 
{ 
    $id = $post['ID']; 

    $fullsizepath = get_attached_file($id); 
    wp_update_attachment_metadata($id, wp_generate_attachment_metadata($id, $fullsizepath)); 

    return true; 
} 

上面的代碼生成時用戶正確地編輯該圖像的自定義尺寸但遺憾的是它不保存所有更新的元數據的圖像,如標題,標題和說明。

你們知道如何解決這個問題嗎?所以我想實現的是如何生成自定義大小的「編輯」圖像並正確保存元數據。

在此先感謝!

+0

「的WordPress不生成自定義圖像尺寸圖像」確實是一個錯誤,請參閱http://core.trac.wordpress.org/ticket/19889。 – jarnoan 2013-10-03 10:01:14

回答