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.
hocam çok teşekür ederim bende bu paylaşımı arıyordum işime yaradı teşekürlert
güzel paylasım tesekürler bilgileriniz faydalı
Warning: fwrite(): supplied argument is not a valid stream resource in C:\Inetpub\vhosts\seslishe.com\httpdocs\wordpress\wp-admin\setup-config.php on line 178
arkadaşlar benım boyle bı sorunum var hata verıyor neden acaba bilen varsa cevap verırse sevınırım
ilgilenen arkadaşlara şimdiden tskler
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.
Sorunu çözdü, teşekkürler…
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