Come ottenere l'ID del sito corrente? (WPMU)

3 ott 2014, 00:53:37
Visualizzazioni: 29.3K
Voti: 10

Sto usando WordPress con MU attivato. Ho trovato una funzione qui che dovrebbe restituire un oggetto con l'ID del sito corrente. Ma sta restituendo 1 per tutti i siti web.

<?php get_current_site(); ?>
1
Commenti

Il blocco di documentazione per quella funzione è fuorviante/errato.

fuxia fuxia
3 ott 2014 01:06:28
Tutte le risposte alla domanda 2
2
11

Hai ragione, get_current_site()->blog_id restituirà 1, poiché si riferisce alla rete.

Per ottenere l'ID del sito (blog) corrente puoi fare così:

<?php echo get_current_blog_id(); ?>

Inoltre puoi ottenere i dettagli del sito (blog) corrente in questo modo:

<?php var_dump(get_blog_details()->blog_id); ?>
3 ott 2014 01:03:19
Commenti

Grazie! Esiste un posto con la documentazione per tutte le funzioni wpmu? Le vecchie funzioni (prima che MU diventasse parte di WordPress) sono ancora valide?

gdaniel gdaniel
4 ott 2014 04:15:11

@gdaniel Sì, c'è una pagina nel Codex riguardo le funzioni WPMU; per quanto ne so, la maggior parte di esse sono ancora valide :)

Sven Sven
4 ott 2014 04:29:37
0

Per prima cosa verifica se l'utente appartiene al sito corrente utilizzando

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

Dopo aver ottenuto l'ID dell'utente, crea il ruolo utente

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

Infine, crea post per ogni utente aggiungendo il ruolo negli argomenti. Non testato ma dovrebbe funzionare.

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

?>
20 feb 2018 09:55:00