2012-12-04 23 views
1

圖片在wordpress中的大小在哪裏?在數據庫中?在一個文件夾中?如何在wordpress中調整/訪問原始圖片?

我將如何去調整原始圖片(不是創建新版本)。我問了這個問題,因爲我上傳了很多圖片,這些圖片太大了,並且減慢了wordpress網站的加載時間,我想調整它們的大小,所以沒有任何大於1500px的尺寸。

我已經看了幾個插件,包括「重新生成縮略圖」,但可能有一個實際上做了我想要的東西,我還找不到。

回答

1

您可以使用WordPress'add_theme_supportadd_image_size爲圖片添加多個尺寸,這意味着當您上傳新的縮略圖時,WordPress將創建具有指定尺寸的張貼縮略圖的副本。要了解更多關於這些技術,您可以read this tutorial

在WordPress中還有另一個功能,它的image_resize可以用來縮小圖像以適合特定尺寸並保存圖像的新副本。

大多數開發人員使用add_image_size添加多個圖像的大小不同palces顯示,即可以用一個形象在你的主頁的featured image並且還可以在single.php頁面中使用相同的圖像的另一個大小。要做到這一點,你必須使用

add_theme_support('post-thumbnails'); 
add_image_size('homepage-thumb', 220, 180); // 220 pix width,180 pix height 
add_image_size('singlepost-thumb', 590, 9999); // Unlimited Height Mode 

要顯示在主頁的homepage-thumb圖像,你可以使用

if (has_post_thumbnail()) { the_post_thumbnail('homepage-thumb'); } 

還是在single.php模板,你可以使用

if (has_post_thumbnail()) { the_post_thumbnail('singlepost-thumb'); } 

你也可以看看this pluginthis article也可能有用。希望能幫助到你。

2

那麼,圖像將「隨時」調整大小,然後存儲在服務器中,並將其信息記錄在數據庫中。

原始遺骸和所有「縮略圖」都會生成。在這種情況下,「縮略圖」是指所有WP生成的圖像大小,大小。

我在WordPress StackExchange上回答了same question。解決方案來自這篇文章:How to automatically use resized images instead of originals

該腳本將取代上傳的圖片由WordPress的生成,保存在你的服務器空間,節省帶寬,如果您鏈​​接的縮略圖原來的大圖像(如果不是在你的設置中定義的大尺寸更大)圖像,就像使用lightbox插件一樣。

add_filter('wp_generate_attachment_metadata','replace_uploaded_image'); 

function replace_uploaded_image($image_data) 
{ 
    // if there is no large image : return 
    if (!isset($image_data['sizes']['large'])) 
     return $image_data; 

    // paths to the uploaded image and the large image 
    $upload_dir    = wp_upload_dir(); 
    $uploaded_image_location = $upload_dir['basedir'] . '/' . $image_data['file']; 
    $large_image_location = $upload_dir['path'] . '/' . $image_data['sizes']['large']['file']; 

    // delete the uploaded image 
    unlink($uploaded_image_location); 

    // rename the large image 
    rename($large_image_location, $uploaded_image_location); 

    // update image metadata and return them 
    $image_data['width'] = $image_data['sizes']['large']['width']; 
    $image_data['height'] = $image_data['sizes']['large']['height']; 
    unset($image_data['sizes']['large']); 

    return $image_data; 
} 
+0

哦,重新讀Q,我意識到你正在談論你已經存儲的圖像,這個解決方案是用於新上傳的... – brasofilo

0

據我所知,沒有任何插件,將直接調整您的原始圖像而改變自己的元數據,但我已經找到了一個解決方法(我有一個類似的問題對你),它不需要編碼。

  1. 通過FTP下載你的圖像(圖像存儲在的wp-content /上傳/目錄內)
  2. 與您所選擇的軟件,讓您調整大小/編輯操作和使用FTP究竟要重新上傳圖片(你不應該改變文件夾結構或文件名中的任何內容)
  3. 在你的WordPress管理員中安裝WPR Rebuild Meta Data plugin。轉到「工具 - >重建元」。這將重建所有修改的圖像元數據(例如,它會將新的圖像大小更新到數據庫中)
  4. 在Wordpress管理中安裝Force Regenerate Thumbnails plugin。您可以在「工具 - >強制重新生成縮略圖」中使用它,以便爲您的所有圖像執行此操作,或者從Wordpress媒體管理器執行此操作,以便僅對已更改的圖像執行此操作。這將刪除舊的縮略圖和自定義圖像大小,並從新圖像中創建新的縮略圖。
相關問題