Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

[워드프레스] Media Uploader를 Flash로만 사용하고 Siverlight는 사용하고 싶지 않을 때 필터

황당한 문제를 겪었다. 내가 작업하고 있는 게 한글 도메인이다. 말 그대로 한글 도메인. 나도 처음엔 이런 게 있는지 몰랐는데 도서관.com 이런 식의 도메인이 실제로 등록이 된다. 꼼수로 쓰는 게 아니라 정식으로 말이다. (근데 권하지 않는다. 이 글을 쓰게 된 희귀한 버그도 이것 때문에 발생한 거니까)

워드프레스 3.5의 미디어 업로더가 작동을 하지 않았다. 처음엔 내가 뭔가 잘못한 건줄 알았다. 그래서 내가 작성한 js와 php를 모두 걷어내 봤다. 그런데 작동하지 않았다.

다음은 서버 설정 문제인가 했다. 그래서 IE에서 미디어 업로더가 제대로 작동하는 것을 확인한 서버로 웹사이트를 옮겨 봤다. 그래도 제대로 작동하지 않았다.

그래서 마지막으로 도메인명을 영문으로 변경해 봤다. 그제서야 제대로 돌아가기 시작했다.

해결책 – 미디어 업로드 runtimes에서 silverlight를 제거

그래서 silverlight로 전체 파일을 검색해 봤더니 두 군데 있는 media.php에서 설정값을 찾을 수 있었다. 워드프레스 개발자들 짱이다. 이런 것도 커스터마이징할 수 있게 만들어 놨다.

여튼, 아래처럼 함수를 만들고 필터를 걸면 된다.

/**
 * 한글 도메인에서 실버라이트 업로드 작동 안 함. 따라서 업로드할 때 실버라이트 업로더는 사용하지 않게 만듦.
 * @param array $plupload_init
 * @return string
 */
function my_remove_silverlight_on_uploaders($plupload_init){
	$temp = explode(',',$plupload_init['runtimes']);
	foreach ($temp as $key => $value) {
		if($value == 'silverlight'){
			unset($temp[$key]);
		}
	}

	$plupload_init['runtimes'] = implode(',', $temp);
	return $plupload_init;
}

add_filter('plupload_init', 'my_remove_silverlight_on_uploaders');
add_filter('plupload_default_settings', 'my_remove_silverlight_on_uploaders');

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다