Wordpress sürümünüzü güncelledikten sonra kullanıcı yetkilerinde bazı problemler ile karşılaşabilirsiniz. Güncellemeden önceki sürümde tam yetkiye sahip yönetici, yeni sürüm üzerinde yetkilerin bazılarını kaybedebilir örneğin. İşte bu tarz bir probleminiz varsa, yamamız hazır
Emin değilim ancak alttaki hatanın da çözüm yolu sanırım hazırladığım yama.
Warning: Invalid argument supplied for foreach() in /home/nnn/public_html/wp-includes/capabilities.php on line 31
Çünkü adı geçen dosyanın o satırında kullanıcı yetkileri derleniyor. Ve seçeneklerde tanımlanmayan bir yönetici yetkisi istendiğinde, ilgili yetki olmadığı için döngü hata veriyor.
Benzer hatalar tamamen wordpress sürümlerini güncelledikten sonra çıkıyor. Tabi bu güncelleme, aralarda epey sürüm farkı olduğunda ortaya çıkıyor. Yani 2.0.x ‘den 2.3.x ‘e gibi. Arada onlarca Wordpress sürümü var.
Bu gibi bir olayı (hata kodu olmaksızın) arkadaşımın sitesinde yaşadık. Hatırladığım kadarıyla eski bir sürümden direkt WP 2.3.x ‘e güncelleme yapmıştık. Wordpress tüm güncellemeleri halletti sandım fakat gördüm ki halletmemiş
Neyse yazmış olduğum alttaki yama ile halletmiş olduk
Wordpress sürümlerinde kullanıcı yetkileri değişiklik gösterebiliyor. Yeni bir sürüm çıktığında yeni kullanıcı yetkileri de çıkabiliyor. Eğer yeni sürüme güncelleme esnasında, bu yeni eklenen yetkiler de sisteme tanımlanmazsa, benzer hataları yaşayabiliyoruz.
Bahsettiğim bu yetkiler dosya içerisinde satır olarak geçmiyor. Aksine veritabanında wp_options tablosunda wp_user_roles adı altında geçiyor. Hazırlamış olduğum yama ile bu yetkileri wordpress 2.3.1 ile gelen yetkiler ile güncelliyoruz. Daha doğrusu eksik olanları da tanımlıyoruz.
Yamayı buradan indirmeli ve wordpress dizinine atıp URL adresinden çağırmak koşulu ile çalıştırmalısınız. Yetkiler güncellenecek ve son halini çıktı verecektir. Eğer çıktı vermesine karşın yine satır numarası hatası görüntüleniyorsa, dosyayı tekrar çalıştırın (başından beri “capabilities.php on line 31″ hatası alanlardansanız). İkinci çalıştırmada hata gidecektir. İşlem bu kadar
Sadece benzer problem yaşıyorsanız yamayı uygulayınız. Uygulamadan önce “wp_options” tablosunun yedeğini alınız. Yamayı uygulamak sizin sorumluluğunuzdadır.
Bu yazı 12 Aralık 2007, 14:46 tarihinde yazılmış olup bu zamana kadar 891 kez görüntülenmiştir
Bu yazı 9 adet yorum almıştır ve bunların tamamı görüntülenmektedir.
Merhaba, bende blog’umu en son sürüme yükselttim ve sorunsuz olarak kullanıyordum ta ki bugün bir plugin yüklemek istememe kadar, karşımda birden “Plugin Information: Share This”
“Bu sayfaya erişmek için yeterli izniniz yok.” yazısıyla karşılaşana kadar. Verdiğiniz yamayı denedim ayrıca bir çok farklı sitede tavsiye edilenleri yaptım fakat sorunu hala çözemedim.
Acaba bunların dışında ne yapabilirim?
Ben iki tane 2.6.x bir tane 2.5.x sürümünde denedim sorunsuz çalıştı. Yine de bir bilenin kontrol etmesinde fayda var =)
2.6 serisi ile çalışıyor mu ben de bilmiyorum. denemedim hiç ![]()
Hakan,
Bunu 2.6 ve 2.1 sürümleri için de kullanalım mı? (Deniyorum zaten şuan)
Yoksa sen bir tane yazar mısın
Bu çalışmaz ise
2.6.1 için.
Güncellemeye çalıştığımda bu hatayı aldım. Öncelikle bu yama için teşekkür ederim. Ancak yamada söylemeyi unuttuğunuz birşey var o da eğer prefix için "wp_" dışında birşeyler kullananlar varsa (ki ben kullanıyorum) yama iş görmüyor. Çünkü ilgili options seçeneği prefix_user_roles ile oluşturuluyor. Örneğin wpmahmut_ diye bir prefix kullanılıyorsa, yama içindeki
update_option(’wp_user_roles’, $wp_user_roles);
satırının
update_option(’wpmahmut_user_roles’, $wp_user_roles);
olarak değiştirilmesi gerekiyor. Ayrıca daha önceden Yönetici, Üye gibi gösterilen yerler İngilizceleri ile değiştiriliyor, yani rollerin isimleri İngilizce oluyor.
Sanırım bunların düzenlenmesi gerekiyor.
Allah razı olsun. ne kadar teşkkür etsem azdır. Tam moralim alt-üst ken imdadıma yetiştin ![]()
Sayfa sayaç ayarları 2.2 eklentisini kullanıyorum.
Sitemde üye olanlar haricindekiler yardımcı, yazar… eklentiler kısmındaki sayfa sayaç ayarlarına ulaşabiliyor ve değiştirebiliyor.
Bunu engelleyebilmemeiz için ne yapabiliriz.
Hakan aslında ben 2.3.1′e daha geçmedim, açıkçası kullandığım bazı eklentilerin sorun çıkarmasından çekiniyorum. Verdiğin bilgi kullananlar için iyi olmuş tabi aynı orunu paylaşanlar için. Bn 2.3.1′ i hala tast diyorum, birde yumlu temları inceliyorum, hazır hissedince geçeceğim! gözüme çarpan bariz özelliklerden biri ise 2.2 versiyonu için etiket kullanmak amacıyla eklenti kullanıyorduk fakat 2.3.1′e kendisinden gelen bir özellik olarak gözüme çarptı ![]()
Fakat 2.2 için hzırlanmış bazı temalarda sorn veriyr galiba!!!
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)