페이지에 front-uploader 라는 플러그인을 사용하여 미디어 파일(이미지)을 업로드 할 수 있도록 설정하였습니다.
그런데 여기서 하나 설정을 추가하고 싶은 것이 사용자가 업로드한 이미지 파일의 이름과 경로, 사용자의 정보를 DB에 저장하고 싶습니다
그 이유는 업로드한 사용자가 들어오면 베너처럼 페이지에 상단에 띄워줄 생각이기 때문입니다.
그렇기 위해서 그 사람의 정보와 파일의 경로, 업로드 파일명을 DB에 저장하려고 하는 것이고요
만약에 이것보다도 더 좋은 업로드 방식으로 DB에 저장할 수 있다면 다른 플러그인을 사용해도 상관없습니다
좋은 플러그인이나 혹은 미디어 파일을 업로드하면 그 내용을 DB에 저장하는 방법좀 알려 주실수 있을까요?
제가 원하던 답변입니다 정말 감사합니다^^
add_attachment 액션(Action)과 add_post_meta 함수를 사용하시면 될 듯합니다.
워드프레스의 미디어 라이브러리에 파일 업로드 시
wp_posts 테이블에 파일의 경로, 업로드 파일명이 저장되며
add_post_meta 함수로 wp_postmeta 테이블에 데이터를 추가하실 수 있습니다.
wp_postmeta 테이블에 사용자의 id를 추가하는 예제를 만들어봤습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('add_attachment', 'attachment_manipulation');
function attachment_manipulation($id){
if(is_user_logged_in()){
add_post_meta($id, 'user', get_current_user_id());
}
}
저장된 값을 불러올 땐 get_post 함수와 get_post_meta 함수를 사용하시면 됩니다.
고맙습니다.
그럼 혹시 미디어 라이브러리에 파일을 올릴 때 다른 DB에 쿼리를 날릴 수 있도록 할 수 있나요?
wp_posts에 미디어 라이브 내용이 저장되던데 거기에 추가적으로 DB를 넣으면 될거 같은데 말이죠
안녕하세요~^^
저희가 모든 플러그인의 코드를 알 수 없기 때문에
해당 플러그인 제작자에게도 문의를 해보는 게 좋을 듯합니다.
좋은 플러그인을 찾게 되면 다시 안내해드리겠습니다.
고맙습니다.