我正在开发一个新的wordpress网站,我想创建多个具有相同电子邮件地址的用户。这样做的目的是将多个客户服务帐户发送到一封普通电子邮件,作为整合的手段。
我首先在rest api中注册了一个电子邮件字段,因为默认rest api设置中不包括电子邮件字段。
因此,在我的函数中添加了以下代码。php文件:
register_rest_field( \'user\', \'user_email\',
array(
\'get_callback\' => function ( $user ) {
return get_userdata($user[\'id\'])->user_email;
},
\'schema\' => null,
)
);
然后,我使用python发出2个简单的post请求,用相同的电子邮件创建2个帐户,如下所示:
import base64
import requests
import json
url=\'https://mywebsite.com/wp-json/wp/v2/users\'
from Load_Credentials import user,password
credentials = user + \':\' + password
token = base64.b64encode(credentials.encode())
header = {\'Authorization\': \'Basic \' + token.decode(\'utf-8\'),\'Content-Type\': \'application/json\',\'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36\'}
#first POST request with same email
x1={"username": "newuser1","email":"[email protected]","password":"check123"}
x1=json.dumps(x1)
x1=json.loads(x1)
r1=requests.post(url+\'?status=publish\',headers=header,json=x1)
#second post request with same email
x2={"username": "newuser2","email":"[email protected]","password":"check123"}
x2=json.dumps(x2)
x2=json.loads(x2)
r2=requests.post(url+\'?status=publish\',headers=header,json=x2)
这是我得到的回应:
{\'code\': \'existing_user_email\', \'message\': \'Sorry, that email address is already used!\', \'data\': None}
是否有一种方法允许仅在使用rest api时使用相同的电子邮件创建2个帐户。(正常注册程序应继续标记重复的电子邮件)
我感谢你在这件事上的支持。