web-dev-qa-db-fra.com

Comment obtenir l'identifiant du site actuel? (WPMU)

J'utilise WordPress avec MU activé. J'ai trouvé une fonction ici qui est supposée renvoyer un objet avec l'identifiant du côté actuel. Mais ça retourne 1 pour tous les sites.

<?php get_current_site(); ?>
3
gdaniel

Vous avez raison, get_current_site()->blog_id renverra 1, car il fait référence au réseau.

Pour obtenir l'ID de site (blog) actuel, vous pouvez vous présenter comme suit:

<?php echo get_current_blog_id(); ?>

De plus, vous pouvez obtenir les détails du site actuel (blog) comme ceci:

<?php var_dump(get_blog_details()->blog_id); ?>
3
Sven

Tout d’abord, vérifiez si les utilisateurs appartiennent au site actuel en utilisant

 <?php is_user_member_of_blog( $user_id, $blog_id ); ?>

Après avoir obtenu l'ID de l'utilisateur créer un rôle d'utilisateur

$user = new WP_User( $user_id );
if ( $user ) {
$roles = $user->roles; 

et en dernier créer des publications pour chaque utilisateur en ajoutant le rôle dans les arguments. pas testé mais je vais faire un tour pour vous.

<?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>';

?>
0
Zaheer Abbas