web-dev-qa-db-fra.com

Comment définir l'avant de la barre d'admin sur true pour tous les utilisateurs?

Je voulais juste savoir s'il est possible de définir pour tous les utilisateurs show-admin_bar_front méta données la valeur true. J'ai essayé de mettre ces lignes dans des fonctions mais sans résultat:

// Create the WP_User_Query object
$wp_user_query = new WP_User_Query(array('role' => 'Subscriber'));

// Get the results
$users = $wp_user_query->get_results();

// Check for results
if (!empty($users)) {
    // loop trough each author
    foreach ($users as $user) {
        // add points meta all the user's data
        update_user_meta(5, 'show_admin_bar_front', 'true');
    }
}
1
CRavon

Vous pouvez utiliser la fonction update_user_option() ( voir codex )

Votre boucle me semble bonne, donc cela fonctionnerait probablement:

// Create the WP_User_Query object
$wp_user_query = new WP_User_Query(array('role' => 'Subscriber'));

// Get the results
$users = $wp_user_query->get_results();

// Check for results 
if (!empty($users)) {

    // loop trough each author
    foreach ($users as $user)
    {
        // update option
        update_user_option( $user->ID, 'show_admin_bar_front', 'true');
    }
}

Les choses à prêter attention à:

  1. Vous parcourez tous les utilisateurs interrogés. Ainsi, dans update_user_option, le premier paramètre doit être l'identifiant extrait de l'objet utilisateur actuel (et non l'identifiant codé en dur).

  2. Le troisième paramètre dans update_user_option devrait être de type chaîne apparemment, donc "true", pas true

1
Levi Dulstein