Wordress “WordPress Missing Temporary folder” Hatasının Giderilmesi

Mesajda WordPress geçici dosyaların depolandığı dizine ulaşamıyor diyor. Bu dizin genellikle /tmp (root dizin altında). Eğer benim gibi Apache’nin VirtualHost/Directory direktifine php_admin_value open_basedir seçeneğini eklediyseniz hiçbir PHP bu dizinin dışına çıkamayacak ve WordPress doğal olarak bu hatayı verecektir.

Okumaya devam et “Wordress “WordPress Missing Temporary folder” Hatasının Giderilmesi”

WordPress Kullanmanın Dez Avantajları

wordpress_good_bad

Bir pesimistin WordPress deneyimleri. Biraz bardağın boş tarafı biraz da deneyim.

  1. WordPress kullanmanın en ciddi dez avantajı muhtemel güvenlik açıkları ile karşılaşma riskinizin yüksek olmasıdır. Bu risk WordPress’in dünyada kullanılan en popüler içerik yönetim sistemlerinden biri olmasından kaynaklanır (CMS – Content Management System)
Okumaya devam et “WordPress Kullanmanın Dez Avantajları”

WordPress eklentisinin güncellenmesini engellemek

WordPress çok pratik bir güncelleme sistemine sahiptir. WordPress çekirdeğini, eklentileri ve temalarınızı bir tıklamayla kolayca güncelleyebiliyorsunuz. Fakat bir eklentinin kodları üzerinde bir değişiklik yapmışsanız bu özellik bir dezavantaja dönüşebilir. Kazara yapacağınız güncelleme, eklentide yaptığınız değişiklikleri de yok edecektir. Aşağıdaki kodu yerleştireceğiniz eklenti güncellemeler dışında kalacaktır.

WordPress’i Uzaktan Yüklemek

Kurulum için klasik olarak wordpress’in bilgisayarımıza indirir, genişletir ve FTP ile upload edererek kuruluma geçeriz. Bu prosedür de binlerce dosyanın FTP ile aktarılması vakit alır. Tam da bu sorunu pratik şekilde halleden WordPress Remote Installer (WRI) projesinden bahsetmek istiyorum.

WRI ufak bir PHP betiği. WordPress’in son sürümünü hızlı bir şekilde sunucuya indirip genişletiyor ve görevi WordPress Yükleyicisine devrediyor. Betiği WordPress’i kurmak istediğiniz dizine kopyaladıktan sonra çağırmanız yeterli.

WordPress menüsünü kod ile oluşturmak

WordPress bileşen panelinde menüleri istediğiniz yere yerleştirebilirsiniz. Fakat menü yöneticisi ile oluşturulan bir menüyü manuel, yani kodla ekrana için aşağıda yazdığım kodu kullanabilirsiniz. Genel olarak header.php dosyasındaki ilgili dynamic_sidebar kodunun çevresine bunu yerleştirebilir kafanıza göre yeniden tasarlayabilirsiniz.

Kısaca koddan bahsetmek gerekirse;  wp_get_nav_menu_items ile ilgili menünün tüm elemanlarını çağırıp get_sub_items ile alt menüsünün olup olmadığına bakıyoruz ve farklı bir css ile görüntülüyoruz. Tabi bu alt seçeneklerin de alt menüsü olabilir. Aşağıdaki kod sadece 3 seviye derine iniyor. Tasarım olarak buradaki görünümü kullandım. Siz de aynısını (mega menü deniyor) kullanmak isterseniz css dosyasını dahil etmeyi unutmayın.

Okumaya devam et “WordPress menüsünü kod ile oluşturmak”

WordPress’in görsel metin editörünü geri getirin

WordPress yeni yazı ekleme/düzenleme sayfasındaki görsel metin editörü pasif durumdaysa sorununuzu aşağıdaki yöntemlerden birisi ile çözebilirsiniz.

  • Öncelikle en son yüklediğiniz eklentilerden birisi buna neden oluyor olabilir. Eklentileri sırayla devre dışı bırakarak görsel metin editörünün durumunu kontrol edin.
  • Bazen güncelleştirmelerden sonra WordPress’in bazı dosyaları zarar görebiliyor ve bu soruna yol açıyor. WordPress’in kullanmakta olduğunuz sürümünü indirerek FTP ile dosyaların üzerine kopyalayın sorun çözülecektir.

WordPress eski gönderileri otomatik yayınlıyor

Bir süredir bloğun alt yapısını oluşturan WordPress’in, eski gönderileri otomatik olarak tekrar yayınladığını farkettim. Sorun kullandığım “SEO SearchTerms Tagging 2” eklentisinden kaynaklanıyormuş. Eklentinin seçenekler ekranındaki “Promote old post with no search engine traffic:” anahtarını off olarak ayarlayınca sorun çözüldü :)

WordPress’i Türkçeleştirmek (İşe yarayan yöntem)

Hasbel kader Wordpress’i  ingilizce yükleyipte sonradan Türkçeleştirmek istediğinizde, bu basit işin nasıl yapıldığını anlatan birçok yöntem önerildiğini göreceksiniz. Fakat buraya geldiğinize göre işe hiçbirisinin yaramadığını görmüş olmalısınız. Aşağıdaki adımları uygulamanız yeterli.

  1. wp-config.php dosyanızı sunucudan indirin ve içerisine define (‘WPLANG’, ‘tr’); satırını ekleyin.
  2. indirdiğiniz wp-config.php dosyasını sunucudaki kopyasının üzerine yazın.
  3. http://tr.wordpress.org/ adresinden son sürümü indirin ve genişletin (extract)
  4. Genişlettiğiniz dosyaların tamamını sunucuya kopyalayın (mevcut dosyaların üzerine yazın, korkmayın)
  5. Mutlu son. Yönetim paneline girin ve Türkçe olduğunu görün. ;)

WordPress Eklenti Geliştiricilerine Tavsiyeler

  1. WordPress eklentisinin kodları buradaki kod standartlarına uymalıdır. Lütfen satır içi dökümatasyon standartlarını da göz önünde bulundurunuz.
  2. Eklentinizdeki tüm fonksiyonlar WordPress çekirdeğindeki fonksiyonlar, diğer eklenti ve temalar ile çakışmaması için tekil bir isme sahip olmalıdır. Bu nedenle eklentinizin fonksiyonlarında, fonksiyon adından önce bir ön ek iyi bir fikirdir. Daha da iyi bir fikir ise eklenti fonksiyonlarınızı bir sınıf’ın içinde tanımlamaktır (sınıfın tekil bir ada sahip olması gerekir)
  3. Eklentilerinizdei, WordPress tablo adı ön eklerini doğrudan kodunuza yazmayın (genellikle ‘wp_‘). Bunun yerine $wpdb->prefix değişkenini kullandığınızdan emin olun. Okumaya devam et “WordPress Eklenti Geliştiricilerine Tavsiyeler”

WP MySQL Console Plugin

Click for English Translation

WP MySQL Console Nedir?

MySQL veritabanı sunucusu ile beraber gelen  komut kabuğunu çoğu kişi bilir. Komut kabuğu dediğim aslında MySQL’in standart veritabı istemci aracı (mysql.exe ./mysql). Bu araç ile SQL komutları kullanarak veritabanı sorguları çalıştırırz. Bu komut satırı aracının yerine birçok görsel istemci yazılımı geliştirilmiş olmasına rağmen, komut satırına uzun uzun SQL komutları yazmak da ayrı bir zevktir. Bilenler bilir ;) Ayrıca sözünü ettiğim görsel araçlar ile herzaman herşeyi yapmak da mümkün değil. Bu araçları kullanırken önünde sonunda komut satırına düşüp kendi SQL sorgularınızı çalıştırmanız gerekir.

Okumaya devam et “WP MySQL Console Plugin”

Call to a member function register_handler() hatası

WordPress alt yapısını blog dışından kullanabiliyoruz. Böylece WP sisteminin tüm fonksiyonları harici bir php sayfası ile entegre etmek mümkün olabiliyor. Bunun için wp-blog-header.php veya wp-load.php‘yi aşağıdaki şekilde include etmenin yeterli olduğu belirtilmiş.

Gel gelilim ki yukarıdaki include’u (require) bir fonksiyon içinden dahil ettiğinizde aşağıdaki gibi saçma bir hata alıyorsunuz. Bu durum WordPress Codex’de dökümante edilmemiş.

Kodu yukarıdaki gibi fonksiyon içerisinde kullandığınızda oluşan hata şöyle:

Teknik olarak nedenini hala daha anlayabilmiş değilim. Fikri olan varsa açıklar ise sevinirim.

WordPress Temalarındaki Gizli Tehlike

WordPress temelli bir site kurdunuz, sıra sitenize uygun bir görsel düzen bulmaya geldi. Şanslısınız, çünkü yüzlerce tema ücretsiz olarak emrinizde. Peki, her şey bu kadar harika mı? Ücretsiz sunulan bu temalar, beraberlerinde bazı tatsız sürprizler getiriyor olmasın? Evet, bu gerçekten de dikkate alınması gereken bir tehlike. TeknoSeyir’in bu bölümünde, WordPress konusunda önemli deneyime sahip olan editörümüz Özkan Erden, Murat Gamsız ile birlikte ücretsiz sunulan temaların taşıyabilecekleri tehlikeleri dile getiriyor.

WordPress’in SQL Performansını İncelemek

WordPress‘in yüklenme hızı çalıştırdığı SQL komutlarının tamamlanma süresiyle doğrudan ilişkilidir. Bazen hasarlı bir MySQL tablosu, bazen bozulmuş bir indeks ve bazen de yanlış kodlanmış bir eklenti MySQL performasını çok ciddi ölçülerde düşürebilir (Hatta bu durumdan dolayı hosting firmanız tarafından uyarılabilirsiniz). SQL başarımının (performans) düşmesi sayfanızın geç açılmasına neden olur. Aşağıda anlatacağım yöntem ile WordPress’in hangi SQL’leri nekadar süre ile çalıştırdığını görebileceğiz. SQL’lerin çalışma süresi bize, başarım soruna daha iyi odaklanabilmek için kılavuzluk yapacak.

Okumaya devam et “WordPress’in SQL Performansını İncelemek”

WordPress options-permalink 403 Forbidden Hatası

Windows sunucularda karşılaştığım bu hata .htaccess dosyasından kaynaklanıyor. Eğer internette tarif edilen  yöntemlerini deneyip de çözüm bulamadıysanız .htaccess dosyasına  FollowSymLinks direktifini eklemeyi deneyin. .htacess dosyasına eklemeniz gereken 2 satır aşağıdaki gibi.

Options All -Indexes
Options +FollowSymLinks

.htaccess’i kullanan bir başka eklentiye sahip değilseniz .htaccess dosyasının tam içeriği aşağıdaki gibi olacaktır.

# BEGIN WordPress
Options +FollowSymLinks
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress

WordPress – WP Simple Cache Plugin

WP Simple Cache, wordpress kullanan sitelerin cevap süresini azami derece azaltan bir eklenti. Benzer birkaç eklenti varken neden böyle bir eklenti yazmaya giriştim derseniz, daha hızlı ve kullanımı kolay olan bir eklenti hazırlamak istedim. Bunda kullandığım diğer cache eklentilerinin yükleme ve performanslarında yaşadığım sorunlar etkili oldu. Ayrıca bu eklenti ile wordpress deneyimimi artırma şansı buldum. WP Simple Cache wordpress camiasına hediye ettiğim iikinci eklentim oldu. İlk göz ağırım WP Onlywire Auto Poster eklentisini buradan inceleyebilirsiniz.

Okumaya devam et “WordPress – WP Simple Cache Plugin”

WordPress’e Dosya Yükleyememe Sorunu

Herhangi bir şekilde wordpress’e dosya yükleyemiyorsanız bunun birçok nedeni olabilir. Gönderinize resim/görüntü eklediğinizde hiçbir hata almadığınız halde resim görüntülenmiyorsa sorun yükleme dizininizde olabilir.

Benim yaşadığım sorun şöyle idi: WordPress yönetim ekranındaki Ayarlar->Çeşitli sayfasından sitenize upload edeceğiniz dosyaların bulundurulacağı dizini belirtebiliyorsunuz. Varsayılan olarak bu dizin wp-content/uploads olarak ayarlı. Burada dikkat edilmesi gereken şey yazdığınız dizin yolunun başında ve sonunda taksim “/” işareti olmamalı. Ayar sayfasında nasıl yazılacağıyla ilgili örnek verilmiş ama uyarı yapılmamış. Sorunu nasıl çözerim diye araştırma yaparken wordpress.org da şöyle bir sayfa buldum.  Burada yükleme sorunlarına yol açabilecek olası durumlar ve çözümlerinden bahsedilmiş. Burada anlatmaya çalıştığım sorunun nedeni bu sayfadaki 9. maddede anlatılmış. Ben ettim siz etmeyin… :)