it-swarm.com.de

Wie setze ich die Anzeige der Admin-Leiste für alle Benutzer auf "true"?

Ich wollte nur wissen, ob es möglich ist, für alle Benutzer show-admin_bar_front Metadaten auf true zu setzen. Ich habe versucht, diese Zeilen in Funktionen zu setzen, aber ohne Ergebnisse:

// 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

Sie können die Funktion update_user_option() verwenden ( siehe Codex )

Deine Schleife sieht für mich gut aus, also würde das wahrscheinlich funktionieren:

// 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');
    }
}

Dinge zu beachten:

  1. Sie durchlaufen alle abgefragten Benutzer in einer Schleife. In update_user_option muss der erste Parameter die ID sein, die vom aktuellen Benutzerobjekt abgerufen wurde (nicht die fest codierte ID).

  2. Der dritte Parameter in update_user_option sollte anscheinend vom Typ string sein, also "true", nicht true

1
Levi Dulstein