워드프레스에 업로드 파일 확장자를 추가하여보겠습니다. 워드프레스에 hwp, exe 등 파일을 업로드하려고 하면 아래와 같이 안내창이 ‘죄송합니다. 이 파일 유형은 보안상의 이유로 허용하지 않습니다.’ 라는 문구가 표시됩니다.
구글링해보면, 흔하게 add_filter(‘upload_mimes’, ‘add_custom_mime_types’); 를 사용하여 해결하는 방법이 나오는데 2021년 7월 기준으로 add_filter(‘upload_mimes’, ‘add_custom_mime_types’); 추가는 동작하지 않습니다. 워드프레스 4.7 이후 버전을 사용중이면 아래 포스팅을 참고해보세요.

admin에서 설정 > 네트워크 설정에 진입합니다.

하단의 업로드 파일 유형에 추가할 확장자를 넣어주세요.

exe, hwp를 추가해보겠습니다. 변경사항 저장을 누릅니다.
미디어 업로드는 글에서 바로 하지 말고, 설정 > 미디어 > 새 미디어 업로드하기에서 진행합니다.

exe, hwp 파일을 첨부해보겠습니다.

우측 2개 파일이 정상적으로 업로드 된 것을 확인할 수 있습니다.
이렇게 업로드한 파일을 포스팅에서 사용하려면 블록 추가 > 파일 을 선택합니다. 이 곳에서 미디어 라이브러리에서 업로드 한 파일을 찾아 선택해 주면 첨부가 완료됩니다.

만약, 이렇게 첨부가 안 될 경우는 php파일을 직접 수정하여야 합니다.
sudo nano /var/www/html/wordpress/wp-config.php
Code language: JavaScript (javascript)
#happy publishing 위쪽에 아래 코드를 추가합니다. 만약 있을 경우 상태가 false가 아닌지 확인합니다.
define('ALLOW_UNFILTERED_UPLOADS', true);
Code language: JavaScript (javascript)
ctrl+x > y > enter로 저장한 후 다시 파일첨부를 시도해보세요.
워드프레스 4.7 이전 버전의 경우, 바로 위의 wp-config.php 설정을 마친 후 아래를 추가로 시도합니다.
#차일드 테마의 functions.php를 nano편집기로 열어줍니다.
sudo nano /var/www/html/wordpress/wp-content/themes/theme-name/functions.php
Code language: JavaScript (javascript)
theme-name은 모두 지우고 활성화중인 차일드테마의 이름을 그대로 입력합니다.
#functions.php 파일 하단에 추가합니다.
/** add custom mimes */
function add_custom_mime_types ( $mimes ) {
$mimes['exe'] = 'application/unknown';
$mimes['hwp'] = 'application/hangul';
return $mimes;
}
add_filter('upload_mimes', 'add_custom_mime_types');
Code language: PHP (php)