Moja sieć pokazuje role w niektórych witrynach, a nie w innych.
Z jakiegoś powodu, którego nie potrafię wyjaśnić, dodając nowego użytkownika, nie mam ról do wyboru w rozwijanym polu podstrony w mojej sieci. Ponadto mój nowy użytkownik przypisany do witryny nie jest wyświetlany na mojej liście użytkowników tej witryny.
Czy to coś można naprawić?
Poniżej obraz aktualnej sytuacji.
Poniżej znajduje się zdjęcie przedstawiające główną stronę z poprawnie określonymi rolami, ale podstrony sieci nie.
Jeśli to jest problem, który znam tak dobrze, korzystasz z konfiguracji memcache za instalacją MU? Odkryłem, że najwyraźniej istnieje problem z pamięcią podręczną (obserwowany w 2.9) dla obiektu opcji, w którym coś dobrego (jak klucz wp_user_roles) utknęło w tablicy memcache „notoptions”.
Jeśli uruchomisz na szczycie memcache, a to brzmi jak możliwe, spróbuj telnetting do urządzenia za pośrednictwem 11211. Wpisz
delete blogid:options:notoptions
, gdzie blogid jest identyfikatorem bloga, na którym widzisz problem. Odśwież panel administracyjny i sprawdź, czy w menu są role. Jeśli tak, znalazłeś swój problem.AKTUALIZACJA : OK, więc nie znalazłeś problemu - nie uruchomiłeś memcache. Nadal sprawdzałbym obiekt ról, szukając uszkodzonego lub nieistniejącego obiektu. Wierzę, że to twój najlepszy trop. Możesz użyć tego kodu, aby zrzucić tabelę opcji:
źródło
Miałem ten problem z instalacją Multisite po ponownej instalacji WordPress i przywróceniu z kopii zapasowej Updraft Plus.
Kiedy sprawdziłem
user_roles
rekord, nazwa_opcji wciąż była ustawiona na oryginalny czteroznakowy prefiks, taki jakpre1_user_roles
, podczas gdy prefiks dla drugiej instalacji był podobnypre2_user_roles
.Zaktualizowałem to
pre2_user_roles
i opcje natychmiast pojawiły się ponownie na stronie opcji użytkownika.źródło
DZIĘKUJĘ CI. Ten problem stanowi solidne 10 godzin debugowania. To był dla mnie prawdziwy niedźwiedź.
Aby to nieco rozwinąć, dodałem funkcję do mojej witryny, która pozwoli ci rozwiązać ten problem, jeśli tworzysz witryny programowo.
Zasadniczo sprawdzi, czy
wp_user_roles
został ustawiony na określonym blogu. Jeśli tak, funkcja użyje,wp_user_roles
aby ustawić nową opcję we właściwy sposób.źródło
Chciałem tylko podziękować za ten artykuł, ponieważ od dłuższego czasu szukam rozwiązania tego problemu.
Było tak po prostu dlatego, że użyłem wtyczki do klonowania moich stron i nigdy nie zaktualizowałem jej
wp_##_user_roles
poprawnie. Kiedy strona skopiowana zwp_13...
niej została sklonowana na nową,wp_81...
ale ten wpis nadal był zablokowanywp_13
.źródło
Chcę tylko zaznaczyć, że niektórzy ludzie mogą nadal mieć pustą tabelę użytkowników witryny - specjalnie dla ich witryny głównej. Jeśli wystąpi ten problem, sposobem jego rozwiązania jest wykonanie następujących czynności:
Uważam, że „1” jest zawsze identyfikatorem strony głównej.
Twoje zdrowie.
źródło
wp_
Prefiks jest ustawiony Sindewp-config.php
i po prostu domyślniewp_
.1
Rzeczywiście jest miejscem korzeń. Ale nie musi tak być,1
ponieważ jest to unikalny i rosnący identyfikator generowany automatycznie.