문제 해결 일반 - 사이트 운용 - 웹프로그래밍 - 프로그래밍

아스트라 프로 4.7.0에서 검색결과 500 오류 해결

아스트라 프로 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 오류가 나면 해볼만한 사례입니다.

2 Comments on “아스트라 프로 4.7.0에서 검색결과 500 오류 해결

  1. 다시 말하자면 아스트라 프로 4.7.0으로 구성한 테마에서 검색을 하면 치명적인 오류가 나고 멈추는 현상을 해결한 것입니다. 이 경우 핵심은 wp-config.php에 define('WP_DEBUG', true); 설정을 해두고 재차 검색해보면서 관찰하라는 것이구요. 오류가 난 파일을 살펴보면서 해결하면 됩니다.

  2. 워드님께서 살펴보신 바에 의하면 ( https://www.thewordcracker.com/?p=63014 ) 영문버전 외의 언어로 블로그가 설정되어 있을때 나타날 수 있는 현상이라고 하시네요. 코드 수정을 하지 않으시려면 당분간 영문으로 운용하시거나, 영문 외의 언어로 운용하셔야 하면 제가 올린 소스코드 수정보완을 응용하셔서 $title 변수를 잘 지정하면 될 것입니다.

답글 남기기

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

청색공책은 프리랜서 프로그래머 겸 정보 제공자입니다. 어린 시절의 특별한 체험은 청색공책에게 큰 힘으로 남았습니다. 홀로서기를 하고 재능을 충분히 활용하기 위해 여러 블로그를 열어 여러 유형의 정보를 전해드리고 있습니다. 잘 부탁드립니다.