업로드 폴더 정리, 미디어 라이브러리 DB 구조


10

Blogger.com에서 시작한 이전 블로그를 업그레이드하고 정리하고 자체 호스팅 WordPress 2.1, 2.3 및 3.0으로 옮겼습니다. 게시물의 이미지가 흩어져 있습니다. 대부분은에 /wp-content/있지만 모두 /wp-content/uploads/또는 안에는 없습니다 /wp-content/uploads/year/month/. 다른 사람들은 여전히 ​​blogger.com 이미지 서버를 참조합니다. 나는 그들에게 모두 통합하려는 /wp-content/uploads/year/month/나는 "올바른"곳이라고 생각? 이렇게하면 나중에 업그레이드하기가 더 쉬워 질 것입니다.

가장 좋은 방법은 무엇입니까? 미디어 라이브러리가 모든 메타 데이터를 관리 할 수 ​​있도록 메타 데이터도 업데이트하고 싶습니다. 나는 이것에 관한 문서를 찾을 수 없었으므로 그것을 놓쳤다면 미안합니다.

물론 이전 위치에서 새 위치로 리디렉션을 제공합니다. 가장 좋은 방법은 무엇입니까? 404.php플러그인 의 템플릿 ? 로깅을 추가하여 참조 페이지를 찾아서 수정할 수 있습니다.

(이 질문은 원래 WordPress 지원 포럼 에서 요청되었지만 유용한 답변은 없습니다.)


작업을 수행하는 플러그인을 찾고 있습니까?
hakre

얀? 문제에 대한 의견이 있으십니까? 답이 당신을 기쁘게하지 않습니까? 도움이되는 의견이 없습니까?
hakre

어떤 종류의 미디어 일괄 편집기가 유용 할 것에 동의합니다. 다른 폴더에서 미디어를 가져 와서 일부 규칙에 따라 빠르게 이동할 수있는 것. 실제로이 작업을 수행 할 수 있습니다.
noio

답변:


7

W3-Total Cache에는 모든 게시물을 스캔하고 외부 이미지를 미디어 라이브러리로 가져오고 경로를 새 위치로 변경하는 기능이 있습니다.

스크린 샷보기

대체 텍스트


2

올바른 장소는 내가 말할 현재 설정입니다. 따라서 이제 년 / 월 하위 폴더 대신 하나의 업로드 폴더를 사용하면 해당 폴더와 함께 이동합니다 (매우 가득 차지 만 정렬하기가 쉬우므로 연 / 월 하위 디렉토리의 모든 파일을 업로드 디렉토리로 이동하고 URL을 변경하면됩니다) 데이터베이스의 경로는 일반적으로 작업을 수행해야합니다.

모든 폴더가 하나의 폴더에 있고 정렬 된 후에는 폴더 디자인을 다시 변경하고 데이터베이스에서 날짜를 읽는 PHP 스크립트를 사용하여 파일을 올바른 디렉토리로 이동할 수 있습니다. 정확히 동일한 스크립트가 URL 경로를 다시 채택해야합니다.

마이크가 제안한 것과 똑같은 스크립트입니다.

현재 WP UI는 파일을 수동으로 이동하거나 이름을 바꾸는 기능을 지원하지 않으므로 자체 코드에 바인딩되어 있습니다. 어쨌든 배치에 적합합니다.

기존 및 관련 플러그인


1

@Jan Fabry : Blogger에서 호스팅하는 이미지와 wp-content 외부의 이미지 등 각 사례를 개별적으로 처리해야 할 것입니다.

Blogger에서 가져 오기위한 플러그인은 다음과 같습니다. 잠시 동안 업데이트되지 않았지만 여전히 작동하거나 최소한 사용할 수있는 코드가있을 수 있습니다.

여전히 작동하거나 작동하지 않는 이전 플러그인도 있습니다.

그 외에도 파일을 스캔하고 포함 된 이미지 URL을 찾는 게시물을 스캔하고 교차 목록을 개발 한 다음 파일을 이동하고 게시물의 참조를 업데이트하는 PHP 스크립트를 작성해야한다고 생각합니다. 아니면 운이 좋을 수도 있고 플러그인이 여전히 작동하고 당신을 위해 그것을 할 것입니다!

행운을 빕니다.


0

어쩌면 (그리고 그것은 미래 독자를위한 것입니다-그것은 오래된 Q입니다) 모든 'post_type'=> 'attachment'를 나열하고 거기에서 분리를 시작할 수 있습니다. 게시물을 가져 와서 다른 위치를 한 배열로 저장하는 것을 의미합니다. 그런 다음 이미지를 정렬하는 위치에 대한 개요를 얻으려면 이것을 정렬하십시오 ...


1
@kaiser : 그것은 오래된 질문 일지 모르지만 여전히 그 일부를 연구하고 있으므로 모든 제안을 환영합니다! 나는 내가 곧 끝낸 것을 답으로 적어두기를 희망한다.
Jan Fabry

@ Jan : 나는 모든 'post_type'=> 'attachment'를 호출 한 다음 위치를 호출하고 (query_vars에 어딘가에 저장되어있는 경우) 미리 정의 된 (첫 번째 비어있는) 배열에 존재하지 않으면 밀어 넣습니다. 그곳에. 결과적으로 array_intersect 또는 이와 유사한 것을 사용하여 다른 위치를 반환하려고 시도합니다. 그것은 물건이 어디에 퍼져 있는지 알아내는 방법에 대한 첫 번째이고 빠르지 않은 더러운 생각입니다. 지금까지 나는 결과 나 리디렉션으로 무엇을할지 전혀 모른다.
kaiser

... 다른 첨부 파일 위치를 가져 와서 이동하고 db의 위치를 ​​업데이트 할 수 있다고 생각합니다. 리디렉션에 대해서는별로 신경 쓰지 않습니다. 게시물은 db가 그것을 알고 누가 첨부 후 인덱싱에 관심이 있는지 알고 있습니다. 이미지 (또는 첨부 파일 템플릿)를 직접 / 핫 링크하지 않고 포함 된 게시물에 링크하지 않는 것이 좋습니다. 필자는 개인적으로 첨부 파일 템플릿을 사용하지 않았으며 게시물 내부의 첨부 파일에 대한 링크 (라이트 박스 및 기타 제외)를 설정하지 않았습니다.
카이저

@kaiser : 저는 현재 처음으로 리디렉션을 만들고 모든 "손실 된"이미지를 /wp-content/uploads/moved/디렉토리 아래로 옮겼습니다 . 이렇게하면 이전 위치를 참조하는 게시물조차도 계속 작동하며 다른 디렉토리는 명확합니다 (나에게 가장 큰 문제는 워드 프레스에 속한 것과 그렇지 않은 것이 매우 분명하지 않음). 이제 기존 첨부 파일을 업데이트하고 아직 첨부 파일로 추가되지 않은 이미지를 추가하고 있습니다.
Jan Fabry

@Jan : "이제 기존 첨부 파일을 업데이트하고 아직 첨부 파일로 추가되지 않은 이미지를 추가하고 있습니다." 한 손에-조금씩? 정확히 알지 못하지만 검색 엔진이 새로운 위치를 모르는 경우 리디렉션 만 필요하다고 생각합니다. 나머지는 db-entries에 의존해야합니다. 잘못된?
카이저
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.