Во-первых, в своей функции вы просто запрашиваете базу данных, не просматривая результаты и не распечатывая их, во-вторых, в Wordpress уже есть встроенная функция, которая поможет вам получить комментарий из базы данных без написания пользовательского запроса, который всегда целесообразен.выбор следовать стандарту WordPress, если это возможно.
чтобы получить комментарии с помощью функции get_comments()
, ваш код должен выглядеть следующим образом:
function list_reviews()
{
$args = array(
'post_type' => 'product', //Post type
'status' => "approve", // Status you can also use 'hold', 'spam', 'trash',
);
$comments = get_comments($args);
foreach ($comments as $comment) {
echo "Customer Name " . $comment->comment_author . " Email: " . $comment->comment_author_email . " Date " . $comment->comment_date . "<br>";
}
}
add_shortcode('allreviews', 'list_reviews');
. Для получения дополнительной информации о функции get_comments()
вы можете прочитать следующую WordPressКодекс
Отредактировано:
, чтобы напечатать информацию в таблице, ваш код должен выглядеть следующим образом:
function list_reviews()
{
$args = array(
'post_type' => 'product', //Post type
'status' => "approve", // Status you can also use 'hold', 'spam', 'trash',
);
$comments = get_comments($args);
?>
<table>
<tr>
<th>Customer Name</th>
<th>Email</th>
<th>Date</th>
</tr>
<?php
foreach ($comments as $comment) {
?>
<tr>
<td>
<?php echo $comment->comment_author ?>
</td>
<td>
<?php echo $comment->comment_author_email ?>
</td>
<td>
<?php echo $comment->comment_date ?>
</td>
</tr>
<?php
}
?>
</table>
<?php
}
add_shortcode('allreviews', 'list_reviews');