Как получить текущий ID сайта? (WPMU)
Я использую WordPress с активированным MU. Я нашел функцию здесь, которая должна возвращать объект с текущим ID сайта. Но она возвращает 1 для всех сайтов.
<?php get_current_site(); ?>

Вы правы, get_current_site()->blog_id
вернёт 1, так как ссылается на сеть.
Чтобы получить ID текущего сайта (блога), можно сделать так:
<?php echo get_current_blog_id(); ?>
Более того, вы можете получить детали текущего сайта (блога) следующим образом:
<?php var_dump(get_blog_details()->blog_id); ?>

Спасибо! Есть ли какое-то место с документацией по всем функциям WPMU? Применяются ли еще старые функции (до того, как MU стала частью WordPress)?

@gdaniel Да, в Codex есть страница о функциях WPMU; насколько я знаю, большинство из них все еще работают :)

Прежде всего, проверьте, принадлежит ли пользователь к текущему сайту, используя
<?php is_user_member_of_blog( $user_id, $blog_id ); ?>
После получения ID пользователя создайте роль пользователя
$user = new WP_User( $user_id );
if ( $user ) {
$roles = $user->roles;
И в конце создайте записи для каждого пользователя, добавив роль в аргументы. Код не тестировался, но должен сработать.
<?php
$args1 = array(
'role' => 'subscriber',
'orderby' => 'user_nicename',
'order' => 'ASC'
);
$subscribers = get_users($args1);
echo '<ul>';
foreach ($subscribers as $user) {
echo '<li>' . $user->display_name.'['.$user->user_email . ']</li>';
}
echo '</ul>';
?>
