как определить, является ли текущий пользователь admin в WordPress Gutenberg UI - PullRequest
0 голосов
/ 23 сентября 2019

Я нашел .canUser() метод.Но это возвращает undefined для меня.Я звоню в интерфейсе с:

wp.data.select( 'core' ).canUser('create', 'users')

Где я не прав?Вот документы для справки: введите описание ссылки здесь

Есть ли какой-нибудь известный способ сделать это в самом коде плагина JS UI?Или как ты это сделал, может быть?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

После анализа источника Гутенберга я немного понял, что был полу прав.Способ проверить это вокруг пользователей (это может сделать только админ).Вот как это можно сделать в коде блока пользовательского интерфейса Gutenberg.

wp.data.select( 'core' ).canUser( 'create', 'users' )

Единственная проблема, которая не работала, когда была установлена ​​точка останова.

0 голосов
/ 23 сентября 2019

Вы можете использовать current_user_can() для проверки ролей пользователей.https://developer.wordpress.org/reference/functions/current_user_can/

function current_user_can( $capability ) {
    $current_user = wp_get_current_user();

    if ( empty( $current_user ) ) {
        return false;
    }

    $args = array_slice( func_get_args(), 1 );
    $args = array_merge( array( $capability ), $args );

    return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}

Чтобы проверить, является ли пользователь редактором или администратором:

<?php if( current_user_can('editor') || current_user_can('administrator') ) {  ?>
    // Stuff here for administrators or editors
<?php } ?>
...