아스트라 프로 4.7.0으로 클라우드웨이즈에서 어플리케이션 추가를 했습니다. 검색결과를 테스트해보니 500 오류가 나서 아래와 같이 조치했습니다.
(1) wp-config.php 에 define(‘WP_DEBUG’, true); 추가후 관찰
(2) Fatal error: Uncaught ArgumentCountError: 3 arguments are required, 2 given in /var/www/html/wp-content/themes/astra/inc/core/common-functions.php:966 오류 발생
(3) 해당 파일을 테마 편집기로 열어서 보니 $title 변수에 add_filter()가 걸려있고 인자가 두개 관찰
(4) 그래도 작동해야 하지만, 세번째, 네번째 인자를 줘도 같은 오류라 다 966라인을 다 지우고
(5) 그다음 라인 어딘가의 echo $title; 구문을 지우고 $title = “검색 결과: <span>” . the_search_query() . “</span>”; 추가후 재실험
(6) 잘 작동함.
(7) wp-config.php에 define(‘WP_DEBUG’, false); 로 되돌림.
어떤 이유인지는 불명확하지만 이전 버전으로 돌아가는 다른 어플리케이션에서는 잘 되는 검색 기능이 최신 버전으로 새로 만든 어플리케이션에서 안되서 워드프래스 재설치, 플러그인 재설치, 테마 재설치를 해도 안되었습니다. 위와 같이 조치하니 되었네요.
위에 add_filter()는 아스트라 설정에서 제목을 읽어와서 표시할때 필요한 기능인데, 이 기능을 안쓰고 그냥 $title 변수를 하드코딩해서 해결했습니다.
일단 같은 문제가 있다면 참고해보세요. 아스트라 프로에서 구성한 사이트에서 검색기능 실행시 500 오류가 나면 해볼만한 사례입니다.
다시 말하자면 아스트라 프로 4.7.0으로 구성한 테마에서 검색을 하면 치명적인 오류가 나고 멈추는 현상을 해결한 것입니다. 이 경우 핵심은 wp-config.php에 define(‘WP_DEBUG’, true); 설정을 해두고 재차 검색해보면서 관찰하라는 것이구요. 오류가 난 파일을 살펴보면서 해결하면 됩니다.
워드님께서 살펴보신 바에 의하면 ( https://www.thewordcracker.com/?p=63014 ) 영문버전 외의 언어로 블로그가 설정되어 있을때 나타날 수 있는 현상이라고 하시네요. 코드 수정을 하지 않으시려면 당분간 영문으로 운용하시거나, 영문 외의 언어로 운용하셔야 하면 제가 올린 소스코드 수정보완을 응용하셔서 $title 변수를 잘 지정하면 될 것입니다.