2017-10-16 104 views
0

在WordPress,我們已經使用add_image_size加入我們自己的中間圖像的尺寸,以標準的WordPress尺寸()。如何限制WP產生附着的元數據()到某些中間圖像尺寸

用我們自己的管理界面上傳圖片,然後我們用wp_generate_attachment_metadata()創建所有縮略圖並將其保存到服務器上的預定義文件夾。

然而,我們想限制wp_generate_attachment_metadata()只生成我們自定義的圖像大小,而忽略了WordPress的標準尺寸。

這可能嗎?

在此先感謝您的幫助!

回答

1

看起來像使用名爲intermediate_image_sizes_advanced的wp_generate_attachement_metadata()生成的$sizes數組的過濾器。

,我發現這個片斷應該做的伎倆,如果你把這個在某種類型的函數文件(通常它會在你的functions.php文件可能會去):

/** 
* Snippet Name: Disable auto creating of image sizes 
* Snippet URL: http://www.wpcustoms.net/snippets/disable-auto-creating-image-sizes/ 
*/ 
function wpc_unset_imagesizes($sizes){ 
    unset($sizes['thumbnail']); 
    unset($sizes['medium']); 
    unset($sizes['medium_large']); 
    unset($sizes['large']); 
} 
add_filter('intermediate_image_sizes_advanced', 'wpc_unset_imagesizes'); 

以上段應刪除所有默認 WordPress的圖像從$sizes陣列wp_generate_attachment_metadata使用()的大小,只產生任何自定義圖像尺寸已添加。

注:我還沒有測試此代碼,但它看起來簡單的我。 如果您希望該過濾器隻影響你「自己的管理界面」你可能不希望把片段放在一個單獨的文件的功能,只有被稱爲在你的管理界面。

查看了以下功能的顯影劑參考和鉤:https://developer.wordpress.org/reference/functions/wp_generate_attachment_metadata/ https://developer.wordpress.org/reference/hooks/intermediate_image_sizes_advanced/