WordPress Geliştirenlere Araçlar (Bölüm 1)

WordPress geliştiricilere benzersiz araçların birinci bölümü.


Nedir, Neden İhtiyaç Duyulur?

Eğer bir WordPress geliştiricisi iseniz bu harika sistemle yapılabileceklerin sınırı olmadığını biliyorsunuzdur. Öyleki bazı startupların (isimleri veremiyorum malesef) proje içerisinde sadece kullanıcı yönetimi için wordpress’i bir framework/kod kütüphanesi gibi kullandıklarını bile biliyorum. Peki bu kadar harika bir sisteme tema veya eklenti geliştirirken kendimizi tekrar etmemek için neler yapıyoruz?

Tabiki temalarımız için kod kütüphaneleri yazıyoruz. Her seferinde wordpress’in temel kodlarını kullanarak gelişmiş bir tema için ayarlar paneli yapmak gerçekten acı verici olurdu. Bunun yerine kendi fonksiyonlarımızı yazarak bunu daha kolay hale getirebiliyoruz. Zaten geliştirici olmak bunu gerektirmez mi?

Öte yandan saatlerce kod yazarak yapacağımız bir çok işlem zaten internette (veya github da) varsa neden vaktimizi boşa harcayalım? Tamam kabul ediyorum, eğer yüzbinlerce dolar eden bir şirketiniz varsa her ay temalarınızdan onbinlerce dolar kazanıyorsanız tabiki oturun vaktinizi harcayın ve size en uygun çözümü üretin. Ama freelance olarak gelen müşterilere tema teslim ediyorsanız, themeforest’a daha ilk temalarınızı gönderiyorsanız, tek kişilik dev kadroysanız türlü aksiyonlara girmenize gerek yok.

İşte bu sebeplerden ötürü açık kaynaklı veya kullanımı serbest kodlar işinizi oldukça kolaylaştıracaktır. Biz de bu yazı serisinde işinizi kolaylaştıracak araçları incelemeye çalışacağız.

Profesyonel WordPress Kurucunuz

Bir wordpress geliştiricisinin yapacağı en büyük hata: wordpress.org adresine girip zip dosyasını indirip localhost’a (hala wamp/lamp/mamp kullananlara Vagrant + WordPress = Mucize) dosyaları atıp elle kurulum yapmaktır. Her ay belki de on tane kurulum yapıyorsunuz ama bu şekilde kurulumları yapmak tam bir vakit kaybı. Bunun yerine yapmanız gereken ufak bir shell script’i yazmak. Temel olarak tüm işlemleri sizin yerinize yapacak. Terminal veya komut satırına girip ‘wordpress-kur’ yazdığınızda wordpress.org adresinden son sürümün zip halini indirecek zip’i çıkartacak zip dosyasını silecek wp-config ayarlarını yapacak kurulumu gerçekleştirecek(!). Tüm bunları yapmak zor mu geldi?

Yukarda demiştik “zaten internette varsa neden vaktimizi boşa harcayalım?”. Evet bunun için kullanacağımız hazır aracımız WP-CLI. Hemen sitesine girip inceleyebilirsiniz. Yüklenmesi anasayfasında gösterildiği gibi çok basit;

Phar dosyasını indirin;

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Her yerde ‘wp’ yazarak kullanmak için ayarları yapın;

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Evet artık hazırız. Terminalden ‘wp — info’ yazarak ilk komutunuzu çalıştırabilirsiniz.

WordPress’i şimdi nasıl kurarız?

wp-cli için tüm komutlara sitesindeki ‘Commands’ bölümünden ulaşabilirsiniz. Şimdi beraber bir WordPress kurulumunu nasıl yapabileceğimize bakalım. Commands sayfasındaki core linkini aynen alıyorum;

core - Download, install, update and otherwise manage WordPress proper.

Yani WordPress’i indirmek, kurmak, güncellemek için kullanacağımız komutlar bu bölümdeymiş. Böylece komutumuzun ilk kelimesini de bulmuş olduk, yani başı ‘wp core’ olacak bir komut çalıştıracağız. Şimdi core linkine tıkladık. Karşımıza kısa kısa yazılar ve altında SUBCOMMANDS bölümünü bulduk. Buradaki kodlara bakarken az biraz ingilizceniz varsa neyin ne olduğu zaten belli oluyor. Örneğin dosyaları indirmek için ‘download’ komutunu kullanacağız, ya da wp-config dosyasını oluşturmak için ‘config’ komutunu kullanacağız, ya da yükleme yapmak için ‘install’ komutunu kullanacağız. Ama unutmayın bunların önüne ‘wp core’ yazmamız gerekiyor yani dosyaları indirmek için ‘wp core download’ yazacağız. Tabiki bazı komutlara ekstra bilgi vermeniz gerekebilir, örneğin config komutunu kullanırken veritabanı ismi veritabanı kullanıcısı ve şifresi gibi bilgileri vermeniz gerekiyor. Yine bu bilgileri SUBCOMMANDS bölümündeki config linkine tıklayarak görebilirsiniz. Bu durumda config komutumuzun son hali şu şekilde oluyor;

wp core config --dbname=veritabaniismi --dbuser=kullaniciadi --dbpass=sifre --locale=tr_TR

En son yazdığımız locale değişkeni zorunlu olmamasına rağmen Türkçe dilini seçmek için kullandık. Hatta config dosyasına debug ve logları açmak için gerekli kodları da burada yazabiliriz;

wp core config --dbname=veritabaniismi --dbuser=kullaniciadi --dbpass=sifre --extra-php <<PHP define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); PHP

Kurulumla ilgili anlatacaklarım bu kadar. Tabiki wp-cli ile çalışmaya mahkum değilsiniz, kurulum işlemlerini daha da kısaltabilirsiniz. Bir shell script fonksiyonu yazıp bu komutları sırayla orada çalıştırabilirsiniz. Ama onuda benim yazmam yerine biraz shell scripti öğrenin, belki bir gün lazım olur :P

WP-CLI neler yapabilir?

WP-CLI aracını kullanarak wordpress ile ilgili neredeyse tüm işlemleri yapabilirsiniz. Zaten commands sayfasını incelerseniz ne kadar çok işe yaradığını kestirebilirsiniz. Yorumları yönetmekten, ortamları yönetmeye, menuleri yönetmekten, eklentileri yönetmeye kadar aklınıza gelen bir çok şeyin komutları bulunmaktadır.

Klavye her zaman mouse’dan daha hızlıdır. Bu sebeple wp-cli kullanarak yapacağınız her işlem manuel yapmaktan daha hızlı olacaktır. İlk başlarda sıkıntı çekebilirsiniz buraya ne yazacaktım şuraya ne geliyordu gibi ama öğrendikten sonra wordpress üzerindeki her işlemi çok hızlı bir şekilde yapıyor hale geleceksiniz.

WP Test

Bir wordpress geliştiricisinin yapacağı ikinci büyük hata: yaptığı temayı içerikleri elle girerek test etmeye çalışmak. Temanızın çok farklı amaçları olacağı için ona özel bir test dosyası bulmanız neredeyse imkansızdır ama biz burada içerikte wordpress ile kullanılabilecek tüm elementleri test etmekten bahsediyoruz.

İşte WP Test bu işe yarıyor. Örneğin başlığı olmayan bir post girilirse temanız nasıl görünüyor? Çok çok uzuuun bir başlık girilirse temanız bozuluyor mu? Tablolar, h etiketleri, blockquotelar nasıl görünüyor? Sitenizin genişliğinden daha geniş bir resim eklenirse tema bunu nasıl gösteriyor? Bunun gibi bir çok soruya bu test dosyalarını kullanarak cevap bulabilirsiniz.

Bu işin orjinali aslında Theme Unit Test olarak wordpress’in kendisi tarafından yayınlanmıştır. Ama daha sonra daha da geliştirilerek Michael Novotny tarafından yeni bir test dosyası oluşturuldu. Theme unit test kullanmaya da devam edebilirsiniz benzer içerikleri onunlada test etmek yine işinizi kolaylaştıracaktır ama WP Test’i kullanmanızı şiddetle tavsiye ederim.

Yine Test Yine Test

Geliştirme yaparken her zaman en önemli şey test etmektir. O yüzden yine bir test aracıyla devam edeceğiz. Bu sefer Theme Check bizlerle. Bu eklentiyi wordpress sitenize klasik eklenti yükleme yönteminizle yükleyebilirsiniz veya wp-cli kullanarak ‘wp plugin install theme-check — activate’ komutuyla yükleyebilirsiniz.

Theme Check temanızın tüm dosyalarını kontrol ederek wordpress’in standart inceleme kurallarına göre hataları bulmaya çalışır. Örneğin bu eklentinin verdiği bir hatayı düzeltmemişseniz %99 ihtimalle themeforest’a gönderdiğiniz tema kabul edilmeyecek ve bu hatayı düzeltmeniz istenecektir. Tabiki tek başına mükemmel bir kontrol aracı değildir ve hiç bir zaman tamamen kontrol edip mükemmel bir kontrol sağlayamaz ama hızlıca temanızı gözden geçirmeye yarar.

Daha fazla kontrol için WordPress tarafından yayınlanan temada olması gereken zorunlu şeyleri inceleyebilirsiniz. Yine bu sayfada gözüme çarpan ilk şey ‘Must meet all Theme Check requirements’ yani Theme Check eklentisinden geçmiş olmanız gerekiyor. Ya da şu cümle bir çok kişinin yaptığı bir hata olabilir ‘Use get_template_directory() rather than TEMPLATEPATH to return the template path.’ yani tema yolunu almak için TEMPLATEPATH yerine get_template_directory() fonksiyonunu kullanın diyor.

Bu zorunluluklar dışında bir de önerilen işlemler var. Şu adresten ulaşabileceğiniz sayfa size oldukça boş görünebilir. Ancak soldaki sidebar da ‘Recommended’ başlığını bulursanız altbaşlıkların linklerine ulaşabilirsiniz orada bölümlere ayrılmış önerileri bulacaksınız. Bu öneriler zorunlu değil yani yapmazsanız temanızda bir hata oluşmaz ama WordPress’in önerdiği gibi bende şiddetle öneriyorum. En azından neler olduğunu okuyun ve onlara uygun temalarınızı kodlamaya çalışın.

Son

Yine bir yazının sonuna geldik. Bu yazıda WordPress’i kurup kullanmak için bir araç öğrendik ve wordpress temalarımızı test etmek için bir kaç araca ve yazılara baktık. Bir sonraki bölümde daha fazla test aracına ve çok seveceğinizi düşündüğüm bir kod kütüphanesine bakacağız. Sadece bu kod kütüphanesiyle tema veya eklenti geliştirirken neredeyse tüm ihtiyaçlarımızı karşılamış olacağız.

Yeni yazılar için takip etmeyi ve daha çok kişiye ulaşması için bu yazıyı paylaşmayı unutmayın! Bilgi paylaştıkça çoğalır…