DMRY.NET’e Hoşgeldiniz
Nerdeyim? GirişWordPress › Wordpress 2.3.1 kullanıcı yetkileri yaması

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 :)

capabilities.php on line 31 hatası ile ilişkisi

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ş :D Neyse yazmış olduğum alttaki yama ile halletmiş olduk ;)

Neden kaynaklanıyor?

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.

Yamanın uygulanması

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.

#9 – 08 Mart 2009 , 17:30

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?

  • Yorumlar: 1
  • İlk Yorum:
    08 Mar. 2009
#8 – 15 Eylül 2008 , 14:47

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 =)

  • Yorumlar: 14
  • İlk Yorum:
    05 Kas. 2007
#7 – 09 Eylül 2008 , 14:30

2.6 serisi ile çalışıyor mu ben de bilmiyorum. denemedim hiç :)

  • Yorumlar: 1250
  • İlk Yorum:
    16 Eki. 2005
#6 – 06 Eylül 2008 , 15:20

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.

  • Yorumlar: 14
  • İlk Yorum:
    05 Kas. 2007
#5 – 23 Mayıs 2008 , 02:15

Sorunu çözdü, teşekkürler…

  • Yorumlar: 1
  • İlk Yorum:
    23 May. 2008
#4 – 13 Ocak 2008 , 14:36

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.

  • Yorumlar: 6
  • İlk Yorum:
    08 May. 2007
#3 – 05 Ocak 2008 , 22:33

Allah razı olsun. ne kadar teşkkür etsem azdır. Tam moralim alt-üst ken imdadıma yetiştin :D

  • Yorumlar: 2
  • İlk Yorum:
    05 Oca. 2008
#2 – 17 Aralık 2007 , 09:33

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.

  • Yorumlar: 6
  • İlk Yorum:
    17 Ara. 2007
#1 – 13 Aralık 2007 , 20:21

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!!!

  • Yorumlar: 11
  • İlk Yorum:
    13 Kas. 2007
YAZIYI BEĞENDİN Mİ?

Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)

Haberler RSS Yorumlar RSS

© 2009 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.