플러그인은 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*. 그는 다른 변화를 기다리고 있지만,이를 수정해야합니다.
코드 수정에 대한 제안 사항이 있으십니까? 나는 틀린 장소에서보고 있는가? 누군가가 도울 수 있기 전에 다른 세부 사항이 필요합니까?
읽었습니까? http://codex.wordpress.org/Function_Reference/get_userdata는 get_userdata를 올바르게 호출하는 방법을 알려줍니다. –
감사합니다. 나는 단지 플러그인의 함수로 업데이트/놀고 있었고 get_userdata를 보았다. $ user = new StdClass를 주석 처리 할 수 있지만 아무도 로그인 할 수 없습니다. 그의 플러그인에 코드를 표시하기 위해 원래 게시물을 업데이트했습니다. – LPH
새로운 StdClass 줄을 $ user = new로 변경하면 WP_User ($ user)가 오류를 수정하고 사용자가 로그인 할 수있게됩니다. – LPH