JSON은 데이터 전송에 사용되는 JavaScript Object Notation 파일을 뜻합니다. 일반적으로 테마/플러그인 개발자는 사용자 정의 설정을 가져오거나 내보내기 위해 JSON 구성 파일을 사용합니다. 그러나 JSON 파일 가져오기 또는 업로드는 개발자가 사용자 정의 설정 페이지를 제공하는 경우에만 작동합니다. 기본적으로 워드프레스에서는 미디어 라이브러리나 게시물 편집기를 통해 JSON 파일을 업로드 되지 않습니다. 워드프레스 에 JSON 파일을 업로드해야 하는 경우 다음을 참조할 수 있습니다.
워드프레스의 기본 JSON 파일 업로드 동작
워드프레스 관리자 패널의 “미디어 > 라이브러리” 섹션으로 이동하여 .json 파일을 업로드해 보면 업로드가 되지 않고 오류가 발생합니다. 워드프레스에서는 보안상의 이유로 SVG 및 JSON과 같은 특정 파일 형식의 업로드를 제한하고 있습니다. 이는 텍스트 파일이므로 업로더가 파일에 악성 코드를 쉽게 추가하여 사이트에 해를 끼칠 수 있기 때문입니다.
그러나 필요하다면 JSON 업로드를 수동으로 활성화하거나 사용자가 프런트엔드에서 다운로드하도록 허용할 수 있습니다.
테마 플러그인 JSON 설정 가져오기
언급한 대로 거의 모든 상업용 테마와 플러그인은 설정을 내보내고 다른 사이트로 가져올 수 있는 옵션을 제공합니다. 이 설정 파일은 .json 형식이며 테마 또는 플러그인 설정 페이지를 통해 파일을 업로드하면 됩니다.
아스트라와 같은 일부 테마는 사용자 정의 설정을 가져오거나 내보내기 위한 사용자 정의 플러그인을 제공합니다. 여기서는 테마/플러그인 설정 가져오기가 아닌 미디어 라이브러리 또는 포스트 편집기를 통해 JSON 파일을 업로드 하는 방법에 대해 설명하고자 합니다.
워드프레스 관리자 패널에 JSON 파일 업로드
파일을 업로드 할 때 워드프레스는 MIME 유형을 확인하여 업로드를 허용하거나 제한합니다. 워드프레스에는 이 문서(https://codex.wordpress.org/Uploading_Files)에 나열된 허용되는 파일 형식 목록이 있으며 목록에는 .json은 허용되는 형식이 아닙니다. 따라서 관리자 패널을 통해 파일 업로드를 허용하려면 JSON용 MIME 유형을 수동으로 추가해야 합니다. 그렇지 않으면 FTP를 사용하여 서버에 파일을 직접 업로드 할 수 있습니다.
1. 플러그인을 사용하여 JSON 업로드 허용
이는 사이트에 JSON 파일을 업로드 하는 가장 좋은 옵션입니다.
여러분의 사이트에 "WP Extra File Types" 플러그인을 설치하고 활성화합니다.
다양한 파일 형식 목록을 보려면 사이드바 메뉴의 "설정 > Extra File Types" 메뉴로 이동하세요.
아래로 스크롤하면 .json 파일 형식을 찾을 수 있으며 해당 항목에 체크를 합니다. 목록이 방대하기 때문에 쉽게 찾으려면 단축 키 "Ctrl + F" 또는 "Command + F"를 사용하여 JSON을 검색하고 해당 라인을 빠르게 찾을 수 있습니다.
체크했으면 아래로 스크롤 하여 "변경사항 저장" 버튼을 클릭합니다.
이제 “미디어 > 새로 추가” 메뉴로 이동하여 JSON 파일을 업로드해 보겠습니다.
오류 없이 파일이 성공적으로 업로드 된 것을 확인했다면 성공한 것입니다.
2. 사용자 정의 기능을 사용하여 JSON 업로드 허용
사용자 정의 함수를 사용하여 JSON 파일 형식 업로드에 MIME 유형을 허용할 수 있습니다.
“외모 > 테마 파일 편집기” 섹션(또는 블록 테마의 경우 “도구 > 테마 파일 편집기”)으로 이동하세요.
목록에서 활성 테마를 선택하고 목록에서 "테마 기능"(functions.php) 파일을 클릭합니다.
다음 코드를 복사하여 파일 끝에 붙여 넣습니다.
// Allow JSON Upload
function allow_json_mime($mimes) {
$mimes['json'] = 'application/json';
return $mimes;
}
add_filter('upload_mimes', 'allow_json_mime');
변경 사항을 저장하려면 "파일 업로드" 버튼을 클릭하세요.
이제 JSON 파일을 업로드하면 파일이 성공적으로 업로드 되는 것을 볼 수 있습니다.
새로운 기능을 추가하려면 하위 테마를 사용하거나 이 목적을 위해 코드 조각과 같은 플러그인을 사용하는 것을 잊지 마세요.
3. wp-config.php 파일을 사용하여 모든 MIME 유형 허용
언급한 대로 워드프레스는 특정 파일 형식의 업로드를 필터링하거나 제한하고 있습니다. 그러나 이 기능을 비활성화하고 모든 파일 형식의 업로드를 허용할 수 있습니다.
FTP 계정을 사용하여 호스팅에 원격으로 로그인하거나 CPanel에서 파일 관리자 앱을 엽니다.
루트(/public_html) 디렉터리에서 wp-config.php 파일을 찾아 텍스트 편집기를 사용하여 편집합니다.
다음 코드를 복사하여 파일 끝에 붙여 넣습니다.
/** Allow All MIME File Types */
define( 'ALLOW_UNFILTERED_UPLOADS', true );
변경 사항을 저장합니다.
기본적으로 이 기능은 단일 사이트 설치의 관리자와 다중 사이트 설치의 최고 관리자에만 작동합니다. 따라서 귀하가 사이트의 유일한 관리자이고 다른 사람이 JSON 파일을 업로드 하는 것을 제한하는 경우 이 옵션을 사용하는 것이 좋습니다.