#php #wordpress
Вопрос:
Я хочу создать скрипт, который, когда он получает запрос на публикацию с именем пользователя и паролем, проверяет правильность имени пользователя и пароля, затем находит количество монет, которые есть у пользователя (я использую плагин под названием MoolaMojo), и отправляет его обратно в строке JSON. PHP-скрипт находится в том же домене, но не связан с WP.
Вот мой PHP-код:
<?php
// Load Request
$api_method = isset($_POST['api_method']) ? $_POST['api_method'] : '';
$api_data = isset($_POST['api_data']) ? $_POST['api_data'] : '';
// Validate Request
if (empty($api_method) || empty($api_data)) {
API_Response(true, 'Invalid Request');
}
if (!function_exists($api_method)) {
API_Response(true, 'API Method Not Implemented');
}
// Call API Method
call_user_func($api_method, $api_data);
/* Helper Function */
function API_Response($isError, $errorMessage, $responseData = '')
{
exit(json_encode(array(
'IsError' => $isError,
'ErrorMessage' => $errorMessage,
'ResponseData' => $responseData
)));
}
/* API Methods */
function loginUser($api_data)
{
// Decode Login Data
$login_data = json_decode($api_data);
// Dummy Check
if ($login_data->username == 'test' amp;amp;
$login_data->password == '1234')
{
// Success
API_Response(false, '', 'SUCCESS');
}
else
{
// Error
API_Response(true, 'Invalid username and/or password.');
}
}
?>
Комментарии:
1. да, есть, все данные хранятся только в базе данных. вы можете сначала сопоставить имя пользователя и пароль(md5), если это правильно, затем получить идентификатор пользователя и получить все метаданные. запустите цикл foreach, найдите соответствующие метаданные и верните их
2. @ShashankShekhar Хорошо, как бы я это сделал?
3. Как бы то ни было, WordPress обеспечивает основу для разработки API REST . Вы можете интегрировать функциональность непосредственно в WordPress с помощью плагина или фрагмента кода. К сожалению, объяснение того, как все это сделать, выходит далеко за рамки ответа на переполнение стека. Может быть, кто-то на wordpress.stackexchange.com знает плагин или другой готовый способ делать то, что вы хотите.