martinjj
  • 0
Гуру

Роли пользователей не привязаны

  • 0

Я добавил пользовательскую роль super_poster, в основном они делают 20 сообщений, и как только они достигают $postlimit, они автоматически перемещаются обратно на уровень вкладчика, перемещение вниз и подсчет сообщений работают нормально, моя проблема в том, что система wp добавляет пользователя в «none» вместо роли участника

if ($count_posts >= $postlimit) {
    $current_user->remove_role( 'super_poster' );
    $current_user->add_role( 'contributer' );

  }

участник установлен для нового пользователя по умолчанию при регистрации, поэтому ситуация, с которой я сталкиваюсь, находится на странице редактирования пользователя wp-admin, я вижу, что недавно перемещенный (в участник из суперпостера) все еще есть «дополнительные возможности участника», однако роль пользователя выпадающий список говорит — Нет роли для этого сайта —

Страница пользователей wp-admin показывает super_poster как в группе пользователей «none»

что дает?

Share
  1. пожалуйста, постарайтесь сформулировать свой вопрос как можно лучше. Чрезвычайно сложно понять, о чем вы пытаетесь спросить. Пока я понял, что вы ждете, пока у автора будет 20 постов, а затем убираете с него роль участника и добавляете роль super_poster. Я не понимаю, что тогда происходит. Более того, я не понимаю вашего намерения. Я также не знаю, какие возможности вы приписали роли суперпостера и прочему.

    • 0
  2. WP_User::set_role( 'contributor' ) Вместо этого вы можете использовать. Он сбрасывает все текущие роли и устанавливает новую (аргумент).

    Таким образом, выше было бы

    if ($count_posts >= $postlimit) {
      $current_user->set_role( 'contributor' );
    }
    
    • 0
  3. «участник» пишется с О, возможно, вы просто ошиблись?

    • 0
  4. извините за мой поздний ответ, работа и семейная жизнь взяли под свой контроль, что касается проблемы, которая у меня была, я попробовал предложение Джона П. Блоха, и он решил быть точно таким же: роль пользователя = Нет и Нет роли для этого сайта, я сделал довольно много исследований через кодекс и не смог ничего придумать, до меня дошло, что я использую тему, которая по умолчанию устанавливает роль пользователя в качестве участника при регистрации, поэтому я попробовал небольшой блок ниже, и он делает именно то, что мне нужно, а именно когда роль пользователя изменяется с пользовательской роли на участника, показывает их на панели пользователя wp как участника, а не как не имеющего роли.

    //$current_user->set_role( 'contributer' );
    $current_user->set_role(get_option('default_role'));
    

    Не знаю, действительно ли это семантический способ WP, но, похоже, он работает так, как я хочу.

    С уважением Мартин

    • 0

Оставить ответ

You must login to add an answer.