페이스북 소셜로그인 치명적인 오류 - 디버그 내역 포함

https://www.cosmosfarm.com/threads/document/43775

안녕하세요?^^ 위 질문에 답변주신 것 처럼

1. 테마 변경 후 시도

2. 중요 플러그인 제거 후 시도 해도 동일한 오류가 발생하여 문의드립니다.

디버그 에러에 출력되는 문구는 다음과 같습니다.

[04-Jun-2020 18:21:01 UTC] PHP Notice:  wp_deregister_script 은 <strong>잘못불렀습니다</strong>. <code>jquery</code> 스크립트를 관리자 영역에서 등록 취소하지 마세요. 프론트 엔트 테마를 지정하려면 <code>wp_enqueue_scripts</code> 후크를 사용하세요. <a href="https://wordpress.org/support/article/debugging-in-wordpress/">워드프레스 디버깅 하기</a>를 참고하시면, 더 많은 정보를 얻을 수 있습니다. (이 메세지는 버전 3.6.0에서 추가되었습니다.) in /home/oppadu05/public_html/wp-includes/functions.php on line 5167
[04-Jun-2020 18:21:19 UTC] PHP Fatal error:  Uncaught Error: Cannot use object of type WP_Error as array in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/api/Cosmosfarm_Members_API_Facebook.class.php:39
Stack trace:
#0 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Controller.class.php(479): Cosmosfarm_Members_API_Facebook->init_access_token()
#1 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Controller.class.php(31): Cosmosfarm_Members_Controller->social_login_callback('facebook')
#2 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/cosmosfarm-members.php(57): Cosmosfarm_Members_Controller->__construct()
#3 /home/oppadu05/public_html/wp-includes/class-wp-hook.php(287): cosmosfarm_members_init('')
#4 /home/oppadu05/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array)
#5 /home/oppadu05/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array)
#6 /home/oppadu05/public_html/wp-settings.php(540 in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/api/Cosmosfarm_Members_API_Facebook.class.php on line 39

혹시 제가 functions.php 에 추가한 아래 코드 때문에 문제가 발생하는 것일까요?..

add_action('init', 'stop_loading_wp_embed_and_jquery');
function stop_loading_wp_embed_and_jquery() {
	if (!is_admin()) {
        $ver = '1.12.4';
		wp_deregister_script('wp-embed');
        wp_dequeue_script('jquery');
		wp_deregister_script('jquery'); // jquery 제거 후 CDN에서 참조한 Jquery문 추가
        wp_register_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/$ver/jquery.min.js", false, $ver);
	}
}

항상 빠른 답변 감사드립니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    올려주신 코드를 저희 쪽 테스트 서버에 적용한 후

    페이스북 소셜 로그인 시 정상적으로 로그인되는 것을 확인했습니다.

     

    에러 메시지에 안내되어 있는 것처럼

    wp_deregister_script 대신 wp_enqueue_scripts로 적용해보시겠어요?

    wp_enqueue_scripts 함수에 대한 자세한 내용은 아래의 링크를 참고해보세요.

    https://developer.wordpress.org/reference/hooks/wp_enqueue_scripts/

     

    FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/api/Cosmosfarm_Members_API_Facebook.class.php 파일에

    39번째 줄에는 어떤 코드가 있는지요?

    사용 중이신 코스모스팜 회원관리 플러그인의 버전이 최신 버전이 아니라면

    최신 버전으로 업데이트해보시겠어요?

    고맙습니다.

  • 안녕하세요?

    플러그인을 최신버전으로 업데이트 하였습니다.

    그래도 치명적인 오류가 발생하네요.. 다만 오류 내용이 변경되고 밑에 Undefined variable 문구가 추가되었습니다.

    [05-Jun-2020 22:50:07 UTC] PHP Fatal error:  Uncaught Error: Cannot use object of type WP_Error as array in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/api/Cosmosfarm_Members_API_Facebook.class.php:39
    Stack trace:
    #0 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Controller.class.php(1302): Cosmosfarm_Members_API_Facebook->init_access_token()
    #1 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Controller.class.php(40): Cosmosfarm_Members_Controller->social_login_callback('facebook')
    #2 /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/cosmosfarm-members.php(78): Cosmosfarm_Members_Controller->__construct()
    #3 /home/oppadu05/public_html/wp-includes/class-wp-hook.php(287): cosmosfarm_members_init('')
    #4 /home/oppadu05/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array)
    #5 /home/oppadu05/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array)
    #6 /home/oppadu05/public_html/wp-settings.php(54 in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/api/Cosmosfarm_Members_API_Facebook.class.php on line 39
    [05-Jun-2020 22:50:14 UTC] PHP Notice:  Undefined variable: user in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_MailChimp.class.php on line 37
    [05-Jun-2020 22:50:14 UTC] PHP Notice:  Trying to get property 'email_subscription' of non-object in /home/oppadu05/public_html/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_MailChimp.class.php on line 37

     

    39번째 줄의 코드를 볼 때, 첫줄에 있는 <?php 를 포함해야 하나요? 만약 그렇다면 39번째 줄의 코드는 $data = json_decode($response['body']); 입니다.

    그렇지 않다면 $this->token = $data->access_token; 입니다.

     

       public function init_access_token(){
            $code = isset($_GET['code'])?$_GET['code']:'';
            if($code){
                $args['client_id'] = $this->client_id;
                $args['client_secret'] = $this->client_secret;
                $args['redirect_uri'] = $this->redirect_url;
                $args['code'] = $code;
                $response = wp_remote_get(add_query_arg($args, $this->accesstoken_url));
                $data = json_decode($response['body']);
                $this->token = $data->access_token;
            }
        }

     

  • 안녕하세요.

    에러 메시지에 표시되는 39번째 줄은 <?php 코드를 포함해서 알려주시면 됩니다.

    해당 문제는 저희도 확인을 해봐야 할 듯합니다.

    저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.

    점검 중에는 페이지에 일시적으로 에러 메시지가 표시될 수 있습니다.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요