如何将所有用户的显示管理栏前面设置为真?

时间:2018-03-28 作者:CRavon

我只是想知道是否可以为所有用户设置show-admin_bar_front 元数据为true。我尝试将这些行放入函数中,但没有结果:

// 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 个回复
最合适的回答,由SO网友:Levi Dulstein 整理而成

您可以使用update_user_option() 功能(see codex)

您的循环在我看来很好,所以这可能会起作用:

// 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\');
    }
}
注意事项:

您正在遍历所有查询的用户,因此update_user_option第一个参数需要是从当前userobject检索到的id(不是硬编码的id)

中的第三个参数update_user_option 显然应该是字符串类型,所以"true", 不true

结束