설정> 미디어> 미리보기 이미지 크기를 변경 한 후 이미지 축소판을 다시 생성 할 수있는 간단한 방법이 있습니까?bash에서 Wordpress 미리보기를 다시 생성하십시오.
나는이 플러그인을 알고 있지만 이미지는 30k 이상 있습니다. 아약스조차도 끝내기까지 영원히 걸릴 것입니다.
저는 iconv, ffmpegthumbs 등과 같은 것들을 실행할 수 있도록 VPS CentOS에 있습니다. 그래서 저에게 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입니다.
그래서
정도 = 28킬로바이트의 $ 출력/$ 파일 :
감사합니다. 비슷한 결과를 보였지만 조금 다른 방식으로했습니다. 다른 사람이 원하면 작성한 스크립트를 포함하도록 내 질문을 편집했습니다. 그러나 나는 여전히 데이터베이스의 모든 게시물을 업데이트하여 새 축소판을 사용하는 방법을 알지 못합니다. post_meta 테이블이 구성된 방식 때문에 간단한 검색 및 바꾸기가 작동하지 않았습니다. 이 주변의 어떤 방법? – kakashigr
이 http://wordpress.org/support/topic/joining-postmeta-and-posts-table-to-get-image-urls에서 가장 좋은 장소일지도 모릅니다. 아니면 어쩌면 새로운 WordPress에 대한 질문을 할 수 있습니다. 여기에 DB 구조 질문에 대한 구체적인 내용이 있습니다. – Vahid