プラグイン用に作成したコードを使用すると、次のエラーが発生します。
エラー:致命的なエラー:335行目の... / wp-login.phpの非オブジェクトでメンバー関数get_error_code()を呼び出します
wp-login.php内でvar_dump($ errors)を実行しようとしましたが、NULLが返されます。
私のプラグイン:(登録ユーザーを外部データベースに追加します)
function add_user_to_SF($errors, $sanitized_user_login, $user_email ) {
global $SF_USERNAME;
global $SF_PASSWORD;
global $errors;
try {
$mySforceConnection = new SforceEnterpriseClient();
$mySoapClient = $mySforceConnection->createConnection(CD_PLUGIN_PATH . 'Toolkit/soapclient/enterprise.wsdl.xml');
$mySFlogin = $mySforceConnection->login($SF_USERNAME, $SF_PASSWORD);
$sObject = new stdclass();
$sObject->FirstName = $_POST['user_login'];
$sObject->LastName = $_POST['user_login'];
$sObject->Email = $_POST['user_email'];
$createResponse = $mySforceConnection->create(array($sObject), 'Contact');
$ids = array();
foreach ($createResponse as $createResult) {
array_push($ids, $createResult->id);
}
} catch (Exception $e) {
$errors->add( 'demo_error', __('<strong>ERROR</strong>: There is a Salesforce problem.','mydomain') );
return $errors;
}
}
add_filter( 'registration_errors', 'add_user_to_SF', 10, 3 );
さらに、この関数を使用してプロセスをテストすると、すべてがスムーズに機能します。
function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) {
if ( empty( $_POST['first_name'] ) )
$errors->add( 'first_name_error', __('<strong>ERROR</strong>: You must include a first name.','mydomain') );
return $errors;
}
add_filter( 'registration_errors', 'myplugin_registration_errors', 10, 3 );