Ich benutze WordPress mit MU aktiviert. Ich habe eine Funktion hier gefunden, die ein Objekt mit der aktuellen Seiten-ID zurückgeben soll. Für alle Websites wird jedoch 1 zurückgegeben.
<?php get_current_site(); ?>
Sie haben Recht, get_current_site()->blog_id
gibt 1 zurück, da es sich auf das Netzwerk bezieht.
Um die aktuelle Site- (Blog-) ID zu erhalten, können Sie folgendermaßen vorgehen:
<?php echo get_current_blog_id(); ?>
Außerdem können Sie die aktuellen Site- (Blog-) Details wie folgt abrufen:
<?php var_dump(get_blog_details()->blog_id); ?>
Überprüfen Sie zunächst mithilfe von, ob der Benutzer zur aktuellen Site gehört
<?php is_user_member_of_blog( $user_id, $blog_id ); ?>
Nachdem Sie die ID des Benutzers erhalten haben, erstellen Sie eine Benutzerrolle
$user = new WP_User( $user_id );
if ( $user ) {
$roles = $user->roles;
erstellen Sie zuletzt Beiträge für jeden Benutzer, indem Sie eine Rolle in args hinzufügen. Nicht getestet, aber ich mache einen Trick für dich.
<?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>';
?>