👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
С выходом WordPress 3.X у блоггеров появилась возможность делать мультисайтовые блоги, в которых у каждого пользователя может быть собственный раздел, который можно сделать отдельным сайтом. Иногда требуется вывести не просто последние комментарии какого-то сайта, но и вообще все последние комментарии мультисайтового блога.
Для вывода последних комментариев со всех сайтов мультисайтового блога, не применяя плагинов, используйте приведенный ниже код:
function get_network_comments()
{
global $wpdb;
$number = 10; // количество выводимых комментариев
$selects = array();
foreach (wp_get_sites($args) as $blog)
$selects[] = "(SELECT comment_post_ID, comment_author, comment_author_email, comment_date_gmt, comment_content, post_title, {$blog['blog_id']} as blog_id FROM {$wpdb->base_prefix}{$blog['blog_id']}_comments
LEFT JOIN {$wpdb->base_prefix}{$blog['blog_id']}_posts
ON comment_post_id = id
WHERE post_status = 'publish'
AND post_password = ''
AND comment_approved = '1'
AND comment_type = ''
ORDER BY comment_date_gmt DESC LIMIT {$number})";
$comments = $wpdb->get_results(implode(" UNION ALL ", $selects)." ORDER BY comment_date_gmt DESC", OBJECT);
$count = 0;
foreach((array)$comments as $comment):
$count++;
if($count == $number+1) break;
?>
<li>
comment_author_email, 32); ?>
<span class="chatter-author">comment_author; ?></span> on
<a class="blog-link">comment_post_ID); ?>" title="commented on post_title); ?>">
comment_content); ?>
</li>
<?php
endforeach;
}
Этот код нужно вставить в файл functions.php. Ну а для того, чтобы вывести комментарии, нужно вставить в шаблон:
<ul> </ul>







