상현에 하루하루
All 개발자의 하루

미디어 관리자 측면에서

( 업데이트: )

워드프레스에서 미디어 설정에 월과 해 기반 폴더로 업로드 구성하기를 설정해 놓았다면 미디어를 업로드 할 때는 업로드할 당시의 년월로 업로드가 된다.

그런대 내가 왜 원하는 날짜로 업로드를 구성하고싶게 되었냐면…

폴더 구조로 미디어를 관리하고싶다

이전에 미디어 관련해서 FTP내부에서도 미디어 파일을 구조적으로 관리하고 싶다는 마음이있었다. 그래서 처음에는 FileBird – WordPress Media Library Folders & File Manager를 이용해서 미디어에서 UI로 폴더로 구분해서 관리를 했다.

지금까지는 아주 만족스러웠는데 이미지 리소스를 워드프레스에서 관리하면 편할 것같다 생각을하고 모든 리소스파일들을 워드프레스에 업로드하고 관리를 하다보니 다운로드하는게 여간 어려운것이 아니었다.

그럼 FTP로 열어서 이미지 파일을 다운로드 받고하면 어떨까? 그리고 SVG를 업로드하고 비슷한 다른 확장자는 UI에서 따로 다운로드 받는 버튼도 만들고?

이렇게 되면 아주 어썸!

워드프레스 관리자 미디어의 폴더와 실제 폴더와 싱크!

워드프레스의 미디어 폴더 구조와 실제 uploads의 폴더구조와 어떻게 맞출까? 그런것이 있을까?

위 두가지 조합을가지고 내가원하던대로 구성이 가능했다.

생각했던대로 계속 관리를 해왔다 2년? 정도 이렇게 관리를 해오다가 예전에 생각했던 것만큼 관리하기가 편하지 않다는 것은 느끼고있었다.

리소스를 워드프레스에서 관리를 한다. 워드프레스의 역활은 CMS(content management system) 리소스 관리와는 멀었던것이다.

추후 포스트관리와 미디어의 연결고리에서 골치가 아팠다.

그래서 리소스는 따로 관리하고 워드프레스는 워드프레스의 역활에 충실하게 사용해야겠다 생각했다.

실제 폴더구조를 복구하기

미디어의 폴더와 실제 폴더를 싱크해주는 플러그인을 비활성화하나니까 link는 그대로 계속 똑같이 가져가는 것이다. FTP에서 난잡하게 정리되지 않은 미디어 파일들

결국 모든 미디어 파일을 백업해두고 다시 업로드한다.

포스트의 이미지들도 하나하나 맞춰서 바꿔준다

그런데 중요한것이 빠졌다. 이미지들의 업로드 날짜가 모두 2021/11폴더로 들어가는 것이다.

년월 폴더 커스텀

이미 업로드된 미디어 파일들은 날짜를 변경하거나 link를 바꿀수가 없다. 업로드할때가 제일 중요한 것이었다. 다시한번 업로드된 미디어들을 삭제하고 어떻게 업로드할때 미디어 파일들을 원하는 위치로 업로드하게 할 수 있을까?

add_filter( 'upload_dir', function () {
    return _wp_upload_dir( '2021/01' );
}, 100, 0 );

업로드 디렉토리를 필터링하고 원하는 날짜로 강제로 교체해서 내가 원하는 폴더로 업로드가 되게 설정하였다.


역시 순정에서 최대한 벗어나지 않는 커스텀이 진리인 것인가?