#php #wordpress #wp-api
#php #wordpress #wp-api
Вопрос:
там у меня есть profile_driver
, я хочу, чтобы эти данные отображались при первом вводе параметра. пример ввода ‘id’
$command = $_GET['command'];
switch ($command) {
case 'profile_driver':
if(!empty($_REQUEST['id'])) {
$data = array( "api_status" => 0, "api_message" => "cant Find data");
echo json_encode($data);
} else {
$loop = new WP_Query(
array(
'post_type' => 'drivers'
)
);
if( $loop->have_posts() ) :
$data = array( "api_status" => 1, "api_message" => "success");
$meta = array();
while ( $loop->have_posts() ) : $loop->the_post();
$meta[] = array(
"id" => get_the_ID(),
"post_name" => get_the_title(),
"username" => get_post_meta( get_the_ID(), 'username', true ),
"password" => get_post_meta( get_the_ID(), 'password', true ),
"email" => get_post_meta( get_the_ID(), 'email', true ),
"phone" => get_post_meta( get_the_ID(), 'phone', true ),
);
endwhile;
endif;
echo json_encode($meta);
}
break;
}
здесь, когда я пытаюсь запустить в postman (у меня есть данные с правильным идентификатором) :
может ли кто-нибудь помочь мне улучшить мой код, чтобы он мог работать так, как я хочу?
Ответ №1:
Вам нужно поставить if
условие после этой строки case 'profile_driver':
, прежде чем возвращать данные веб-сервису.
Попробуйте сбросить, var_dump($_REQUEST)
чтобы проверить, есть ли параметр id в запросе или нет OR
, он пуст.
if(!empty($_REQUEST['id'])) {
echo 'Please enter id';
} else {
// your rest of the code goes here
}
Также вам нужно изменить цикл.
$data = array("api_status" => 1, "api_message" => "success", "result" => "");
if( $loop->have_posts() ) :
while($loop->have_posts()) : $loop->the_post();
$data['result'][] = array(
"id" => get_the_ID(),
"post_name" => get_the_title(),
"username" => get_post_meta(get_the_ID(), 'username', true),
"password" => get_post_meta(get_the_ID(), 'password', true),
"email" => get_post_meta(get_the_ID(), 'email', true),
"phone" => get_post_meta(get_the_ID(), 'phone', true),
);
endwhile;
endif;
echo json_encode($data);
Комментарии:
1. оке, он может получить идентификатор, но я все еще получаю неправильный ответ, вы можете мне помочь? проверьте мой скрипт редактирования, спасибо, или я все еще неправильно его размещаю?
2. @AdamProjo похоже, что ваш файл содержит
var_dump
найдите var_dump и удалите его. затем вы получите правильный ответ в формате json.