2012-12-23 1 views
1

플러그인은 WordPress 다중 사이트 네트워크에 대한 로그인을 제공합니다. 이 플러그인은 이제 user.php 파일이 변경 되었기 때문에 WP 3.5에서 실패합니다. /wp-includes/user.php의 이전 행을 다시 추가 할 수 있으며 플러그인이 작동합니다. 분명히 이것은 장기적인 해결책이 아닙니다.WordPress 3.5 플러그인을 변경 한 User.php가 변경되었습니다.이 기능이 문제가 될 수 있습니까? 그것을 고칠 수 있습니까?

이 user.php

if (empty($user)) 
    $user = wp_get_current_user(); 
else 
    $user = new WP_User($user); 

if (! isset($user->ID)) 
    return false; 

에서 기존의 코드는이 3.5

if (empty($user)) 
    $user = get_current_user_id(); 

if (! $user = get_userdata($user)) 
    return false; 

에서 새 코드 내가 PHP를 배우려고 노력 초보자 해요 그래서 잘 모르겠어요입니다 모든 의미에서. 그러나 이것은 플러그인에서 문제를 일으키는 코드라고 생각합니다.

function get_userdata ($ user_id) { global $ wpdb; 새로운 StdClass이 주석 할 수 있고 오류를 제거하지만 아무도 로그인 할 수 없습니다

if (! is_numeric($user_id)) 
    return false; 

$user_id = absint($user_id); 
if (! $user_id) 
    return false; 

$user = wp_cache_get($user_id, 'users'); //check to see if the cache object already has the user 

if ($user) 
{ 
    return $user; //it was in the cache 
} 


    $user = new StdClass();  

global $XF; 
XF_User_Data::fillUserData($XF->visitor, $user, $user_id); 

update_user_caches($user); 

return $user; 

}.

오류가 발생하지 않도록하려면이 함수를 어떻게 다시 쓸 수 있습니까?

* 치명적인 오류 :) (: 정의되지 않은 메서드 stdClass에 has_prop 전화

플러그인의 개발자는 '휴가'이고 업데이트하지 않았습니다 /wp-includes/user.php*. 그는 다른 변화를 기다리고 있지만,이를 수정해야합니다.

코드 수정에 대한 제안 사항이 있으십니까? 나는 틀린 장소에서보고 있는가? 누군가가 도울 수 있기 전에 다른 세부 사항이 필요합니까?

+0

읽었습니까? http://codex.wordpress.org/Function_Reference/get_userdata는 get_userdata를 올바르게 호출하는 방법을 알려줍니다. –

+0

감사합니다. 나는 단지 플러그인의 함수로 업데이트/놀고 있었고 get_userdata를 보았다. $ user = new StdClass를 주석 처리 할 수 ​​있지만 아무도 로그인 할 수 없습니다. 그의 플러그인에 코드를 표시하기 위해 원래 게시물을 업데이트했습니다. – LPH

+0

새로운 StdClass 줄을 $ user = new로 변경하면 WP_User ($ user)가 오류를 수정하고 사용자가 로그인 할 수있게됩니다. – LPH

답변

1

숙련 된 PHP 프로그래머라도 WP 코어 또는 모든 플러그인 스크립트를 수정하는 것은 좋은 생각이 아닙니다. 필자는 이전 버전으로 다운 그레이드해야하며 플러그인의 업데이트를 기다려야합니다. 쉽게 수행하려면 link을 확인하십시오. 사실, 많은 플러그인은 인기있는 CKEditor를 포함하여 버전 3.5에서 문제가 있었지만 업데이트 중이며이 경우 대기가 가장 좋은 옵션 인 것으로 보입니다. 다른 업데이트를 시도하기 전에 모든 플러그인이 3.5와 호환되는지 확인하십시오.

+0

코어를 수정하지 않아도됩니다. 그래서 플러그인의 함수를 다시 작성해야합니다. 내 게시물이 분명하지 않아서 죄송합니다. – LPH

0

사용중인 플러그인을 게시하고 링크를 다운로드하면 해당 플러그인을 살펴보고 문제가 무엇인지 확인합니다.

+0

확인. 이것은 유료 플러그인입니다. 필자는 원래 get_userdata 함수를 사용하여 플러그인의 버전을 게시했기 때문에 원래 게시물을 편집했습니다. – LPH