Я успешно получаю комментарии к сообщениям Wordpress через PHP-код. Теперь я хочу отображать все комментарии к сообщениям в формате JSON. Я привел несколько примеров, чтобы завершить этот прогресс, но все комментарии (формат JSON) отображаются индивидуально.
См. Пример результата:
[{
"author": "JimmiXzSq",
"comment": "test1"
}]
[{
"author": "MoseJackswka",
"comment": "test2"
}]
Но я хочу отображать правильный формат JSON
Мой код тренировки:
foreach ( $comments as $comment ) :
$getauthor = $comment->comment_author ;
$getcontent = $comment->comment_content;
$test1= array('author' => $getauthor, 'comment' => $getcontent);
$displaycomments = json_encode(array(($test1)),true);
echo $displaycomments;
endforeach;
Если вы хотите вставить все свои комментарии в один json:
$comments = array();
foreach ( $comments as $comment ) :
$getauthor = $comment->comment_author ;
$getcontent = $comment->comment_content;
$tmp= array('author' => $getauthor, 'comment' => $getcontent);
$comment[] = $tmp;
endforeach;
$displaycomments = json_encode($comments);
echo $displaycomments ;
дам
{
{
"author": "JimmiXzSq",
"comment": "test1"
}
,
{
"author": "MoseJackswka",
"comment": "test2"
}
}
спасибо за ваш ценный ответ, но одна небольшая проблема. после того, как вы попробуете свой код, отобразите все поля, такие как идентификатор комментария, время комментария, например. Я хочу отображать только определенное поле (автор и комментарий) $ comments = get_comments ($ args); foreach ($ comments как $ comment): $ getauthor = $ comment-> comment_author; $ getcontent = $ comment-> comment_content; $ tmp = array ('author' => $ getauthor, 'comment' => $ getcontent); // $ комментарий [] = $ tmp; endforeach; $ displaycomments = json_encode ($ комментарии); echo $ displaycomments; мой исходный код
Я действительно не понимаю ... Ваш json содержит "автора комментария", "идентификатор комментария", "время комментария", "текст комментария" ... И вы просто хотите отобразить конкретную информацию. И мой код отображает всю информацию?
Это потому, что вы json_encode каждый бит отдельно внутри цикла. Таким образом, они рассматриваются как отдельные, отдельные части JSON, а не как один большой список. Между ними нет связи. Вместо этого создайте один объект / массив PHP, содержащий все данные, а затем json_encode этот объект один раз после завершения цикла.