2012-10-07 34 views
0

嗨進出口使用the_post_thumbnail的NIVO滑塊,我的問題是,我似乎無法找到一個不錯的簡單的方法來自動調整圖像,以精確的尺寸。 當我使用add_image_size它不正確地伸展,它不斷的約束。我不想裁剪或任何東西。我只想讓用戶上傳圖片,之後不必做任何事情。調整大小the_post_thumbnail正常伸展,WordPress的

它可能是一個愚蠢的,但我用Google搜索它,即使有很多關於它,包括各種插件,我似乎無法找到一個堅實的答案。

謝謝

回答

0

我認爲你需要澄清你的問題。如果我理解正確,你希望上傳的圖像是沒有裁剪的確切圖像?確保在調用nivo滑塊的_post_thumbnail函數之前保存了上傳。這樣你就可以在函數獲取之前處理原始圖像。

+0

對不起,爲了澄清,我想自動調整圖像大小,即使這意味着拉伸。無論圖片上傳時的大小是多少,我都需要像素每次都是760px' *'474px'。 我對'add_image_size'的問題是,它沒有拉伸它,它調整了我無法比例的比例。 謝謝 – Adrian

+0

和因爲用戶不擅長電腦,我不希望他們不得不做任何事情比在wordpress中上傳圖像 – Adrian

+0

要自動調整圖像大小,只需將寬度/高度設置爲100%。它會將圖像拉伸到其父容器的寬度/高度。 –

0

的add_image_size() - 方法已經爲你想使用的作物方法的標誌。但他們都會保持圖像的比例不變。

你可以擴展的功能或構建自己的插件來處理你所希望的方式調整大小 - 你可能想看看/wp-includes/media.php和一個簡單的調整大小類像https://github.com/mdular/ReSample.php/blob/master/ReSample.php

雖然我不是扭曲圖像比例的忠實粉絲。如果客戶端無法再與一個縱向或橫向寬高比裁剪圖像,而不是拉伸分化好像在大多數情況下,更優雅的解決方案。

對於一個快速&骯髒的解決您的問題,但我建議如下:

  1. 添加圖像大小和contrain它由寬度或高度以適應您的滑塊寬度或高度(這個例子只限制通過寬度):

    add_image_size( '滑塊圖像',760,9999); // 760個像素寬, 「無限制」 高度

  2. 輸出圖像標記時,迫使尺寸760 X 474在圖像標籤

    < IMG SRC = 「」 寬度= 「760」 HEIGHT =」 474" ...>

這將讓你與那些可能比你想要的更高或者更寬,但將被迫在瀏覽器中設定的尺寸,因此適合滑塊的圖像文件。它很髒,是的,但它會與你現在使用的工具一起工作。

更新 迴應您的評論:您可以通過獲取原始圖像信息自己構建圖像標籤。

1)抓住後元,像這樣(假設the_post()已經執行,它應該是,如果你是在while循環):

$meta = get_post_meta($post->ID) 

2)檢查縮略圖ID來避免空輸出(並執行步驟3 + 4的if塊中)

if(!empty($meta['_tumbnail_id'][0]) 

3)搶實際縮略圖的原始數據 - 一定要填寫「縮略圖VERSION」(大小),你想要的('縮略圖','medium'等。或者你自己的,如果你在你的functions.php中使用了add_image_size())

$image = wp_get_attachment_image_src($meta['_thumbnail_id'][0], 'VERSION'); 

4)構建圖像標籤:

$image[0] = the src url 
$image[1] = the width - you may use this 
$image[2] = the height - you may wish to force this to your liking 

希望這有助於:)

+0

嗨,謝謝,很好的答案,唯一的問題是我沒有訪問'img'標籤,如果你遵循,我知道這聽起來很荒謬,但我的意思是,我在循環中使用的唯一東西是'the_post_thumbnail' ,並生成自己的'img'標籤。我需要在循環中使用該函數以使滑塊正常工作(因爲它也抓取了img信息等) 但是,我可能會採取您的解決方案,而不是使用html'height',我可以使用CSS'自動height'。所以'add_image_size'會照顧寬度,css'自動高度'可以照顧高度。 我讓你知道,謝謝 – Adrian

+0

你可以訪問圖像的原始數據並自己構建標籤,我已經在幾天前建立了一個自定義滑塊。將更新我的答案與一些更多的信息。 – mhe