改變設置>媒體>縮略圖大小後,是否有一種簡單的方法可以讓我重新生成圖像縮略圖?從bash重新生成Wordpress縮略圖
我知道這裏有插件,但我有超過30K的圖像。即使是阿賈克斯人也要永遠完成。
我在VPS CentOS上,所以我可以運行像iconv,ffmpegthumbs等東西,所以有沒有辦法讓我從bash執行此任務?
更新1
這裏是我寫爲我做這項工作的腳本。我需要在包含圖像的文件夾中運行它。
#! /bin/bash
# Copyright Synvi Group (http://www.synvigroup.com)
# Custom script to generate wordpress thumbnails for smokingd
# Dependencies: Imagemagick, rename, coreutils
echo Checking if sgthumbs already exists...
rm -rf sgthumb &
wait
echo Checking if list file already exists...
rm -f list &
wait
echo Generate list of files...
ls -1 --file-type | grep -v -e -[0-9][0-9][0-9]x[0-9][0-9][0-9] | grep -v -e -[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9] | grep -v -e -[0-9][0-9][0-9]x[0-9][0-9][0-9][0-9] | grep -v -e -[0-9][0-9][0-9][0-9]x[0-9][0-9][0-9][0-9] | grep -v -e -[0-9][0-9][0-9]x[0-9][0-9] | grep -v -e -[0-9][0-9]x[0-9][0-9][0-9] | grep -v -e -[0-9][0-9]x[0-9][0-9] > list &
wait
echo Create sgthumb directory...
mkdir sgthumb &
wait
echo Copying files...
xargs -a list cp -t sgthumb/ &
wait
cd sgthumb
echo Generating thumbnails...
echo Processing jpg files..
mogrify -resize '610x200^' -gravity center -crop 610x200+0+0 +repage *.jpg &
wait
echo Processing png files..
mogrify -resize '610x200^' -gravity center -crop 610x200+0+0 +repage *.png &
wait
echo Appending the new size to filenames...
rename .jpg -610x200.jpg *.jpg &
wait
rename .png -610x200.png *.png &
wait
echo Fixing permissions...
chown smokingd:smokingd *
wait
chmod 777 *
wait
echo Moving thumbnails to main directory...
cp -p *.jpg ../
wait
cp -p *.png ../
wait
echo Cleaning up..
cd ..
wait
rm -rf sgthumb
wait
rm list
wait
echo Done!
其中USER是擁有文件的用戶,PERMISSIONS是正確的文件。
現在我需要更新數據庫以便舊帖子使用新的縮略圖。 舊帖子使用150x150的縮略圖,所用縮略圖的名稱後面添加了-150x150。
更新2
下面的查詢工作的罰款:
UPDATE wp_postmeta SET meta_value = REPLACE (
meta_value,
'-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}',
'-610x200.jpg";s:5:"width";s:3:"610";s:6:"height";s:3:"200";}');
假設原來的縮略圖大小150×150是和新尺寸爲610x200。
謝謝你。我最終做了類似的事情,但方式稍有不同。我編輯我的問題,包括我寫的腳本,如果任何人想要它。不過,我仍然不知道如何更新數據庫中的所有帖子以使用新的縮略圖。由於post_meta表的結構方式,簡單的搜索和替換不起作用。任何方式在這個? – kakashigr
可以看看這個http://wordpress.org/support/topic/joining-postmeta-and-posts-table-to-get-image-urls,最好的地方來問問他們或者可能是一個新的wordpress問題這裏針對你所具有的db結構問題 – Vahid