Моя сеть показывает роли на некоторых сайтах, а не на других.
По какой-то причине, которую я не могу объяснить, когда я добавляю нового пользователя, у меня нет ролей для выбора в раскрывающемся списке подузла в моей сети. Кроме того, мой новый пользователь, назначенный сайту, не отображается в моем списке пользователей для этого сайта.
Это что-то поправимо?
Ниже изображение текущей ситуации.
Ниже приведена картинка, показывающая основной сайт с должным образом ролями, а подсайты сети - нет.
Если это проблема, которую я так хорошо знаю, вы запускаете установку memcache после установки MU? Я обнаружил, что, очевидно, существует проблема с кешем (засвидетельствовано в 2.9) для объекта параметров, когда что-то хорошее (например, ключ wp_user_roles) застревает в массиве memcache «notoptions».
Если вы запускаете поверх memcache, и это звучит как возможность, попробуйте подключиться к машине через 11211. Введите
delete blogid:options:notoptions
, где blogid - это идентификатор блога, в котором вы видите проблему. Обновите панель администратора и посмотрите, есть ли роли в выпадающем списке. Если так, то вы нашли свою проблему.ОБНОВЛЕНИЕ : ОК, так что вы не нашли свою проблему - вы не запустили memcache. Я все еще проверял бы объект ролей, ища поврежденный или несуществующий. Я верю, что это твое лучшее лидерство. Вы можете использовать этот код для вывода таблицы параметров:
источник
У меня была эта проблема с установкой Multisite после переустановки WordPress и восстановления из резервной копии Updraft Plus.
Когда я проверил
user_roles
запись, для option_name все еще был установлен первоначальный четырехсимвольный префикс, напримерpre1_user_roles
, тогда как префикс для второй установки был примерно такимpre2_user_roles
.Я обновил это до,
pre2_user_roles
и параметры сразу же появились на странице параметров пользователя.источник
СПАСИБО. Эта проблема представляет собой 10 часов отладки. Это был настоящий медведь для меня.
Чтобы немного углубиться в это, я добавил на свой сайт функцию, которая позволит вам решить эту проблему, если вы создаете сайты программно.
В основном, это проверит, был ли
wp_user_roles
установлен в указанном блоге. Если это так, функция будет использоватьwp_user_roles
для установки новой опции в правильном порядке.источник
Я просто хотел сказать спасибо за эту статью, потому что я долго искал решение этой проблемы.
Это было просто потому, что я использовал плагин для клонирования своих сайтов, и он никогда не обновлялся
wp_##_user_roles
должным образом. Когда сайт был скопирован сwp_13...
него, он был клонирован на новый сайт,wp_81...
но эта запись все еще оставаласьwp_13
.источник
Я просто хочу отметить, что у некоторых людей все еще может быть пустая таблица пользователей сайта - специально для их корневого сайта. Если эта проблема возникает, способ решить эту проблему заключается в следующем:
Я считаю, что «1» - это всегда идентификатор корневого сайта.
Приветствия.
источник
wp_
Приставка устанавливается Синдwp-config.php
и только по умолчанию вwp_
.1
Действительно есть корень сайта. Но это не обязательно, так1
как это уникальный и увеличивающийся идентификатор, который генерируется автоматически.