경미한 문법 오류로 인한 문제

운영 중인 다른 워드프레스 사이트에서 WordPress 버전을 최신 버전인 4.3으로 업그레이드하면 포트폴리오(커스텀 포스트 타입)의 카테고리 페이지가 제대로 표시되지 않는 문제가 발생했습니다. 그래서 WordPress 4.2 버전을 유지할 수 없었습니다. 문제 해결을 위해 테마 제작자에게 문의했지만 테마 제작자는 이 문제를 재현할 수 없다는 답장을 해 왔습니다. 질문과 답변을 꾸준히 주고 받으면서도 문제를 해결할 수 없었습니다.

wp-confing.php에서 debug 기능을 true로 설정하니 "The called constructor method for WP_Widget is deprecated since version 4.3.0!" 관련 오류 메시지가 표시되어 혹시 문제가 이 때문이 아닐까 해서 테마 제작자의 도움을 얻어 WP_Widget 관련 오류를 수정했지만 문제가 해결되지 않았습니다.

그러다 제작자는 문제는 테마 때문이 아니라 서버 환경과 관련된 것 같다고 언급했고 나도 같은 생각이었습니다. 그래도 문제는 해결해야 했기에 해당 테마의 템플릿 소스를 가지고 수정을 해 보았지만 문제 해결이 요원해 보였습니다. 그러다가 우연히 다음과 같은 구문을 발견했습니다.

array(
   array(

혹시나 해서 array 하나를 지우니 문제가 정말로 마법같이 해결되었습니다. (이래서 영문에서 work like a charm이라는 표현을 사용하나 봅니다.) 몇 백 줄이 넘는 소스에서 이 사소한 문법 오류(?) 때문에 테마 제작자와 얼마나 많은 메시지를 주고 받았는지 모릅니다.

추가: 사실 위의 array of arrays(배열의 배열)는 오류가 아니지만 이상하게 워드프레스 4.3에서 특정 상황에서 제대로 해석하지 못하는 문제가 발생한 것 같습니다.

 

 


댓글 남기기

* 이메일 주소는 공개되지 않습니다.