Web tasarımcıları olarak, kodumuza erişimi kısıtlamak için doğalarımıza karşı geliyor. Web sitelerimizin uyumluluğunu en üst düzeye çıkarmayı ve mümkün olan yerlerde geriye dönük uyumluluk için çaba göstermeyi öğretiyoruz; aşamalı olarak geliştirilmiş ve incelikle aşağılayıcı siteler oluşturmak. IE1'de çalışabilirsek, bu kötü bir şey değil…

En azından WordPress geliştiricileri için sorun, WordPress'in bir canavar olması; İzin verirseniz sizi ve sevimli küçük projeni yuttacaktır.

Bir WordPress teması oluştururken, ya belirli bir müşteri için özel bir iş olarak ya da birçok WordPress pazarından birine tekrar sattığınızda, hedefiniz hiçbir zaman WordPress'in bir parçası olan her şeyi kapsamıyor olabilir. Bunun yerine, hedefiniz mevcut kod tabanını en üst seviyeye çıkarmak için anahtar fonksiyonları, özellikleri ve filtreleri en iyi şekilde kullanmak olmalıdır.

Profesyonel olarak, zamanınız paradır, geliştirmeye harcadığınız süre ne kadar artarsa ​​o kadar az kar elde edersiniz; bu basit bir denklem. WordPress'in boyutu, zamanınızın% 80'ini pazarın% 20'sine kolayca harcayabileceğiniz anlamına gelir. Zamanın% 80'ini pazarın% 80'ine kadar harcamak çok daha iyi. Kaliteli ürün ve kendi banka bakiyeniz açısından, bu en kesin yaklaşımdır.

İçinde Tema geliştirmeyi zıplamak için 14 anahtar WordPress işlevi başarısız olmadan, başlangıç ​​temalarımın functions.php dosyasına dahil ettiğim bazı işlevlerden geçtik. Bu makalede, önemli WordPress işlevleri listenizde yer alması gereken bir başka önemli işlevi ele alıyoruz. Bu sizi hem baş hem de kalpten kurtaracak, yolun aşağısında.

WordPress zaten geriye dönük uyumluluğu sınırlandırıyor

Önlenebilir bir istismar, müşterinizin sitesini (temanız üzerinde çalışan) dizlerine indirdiğinde, sizce kim arar? Seni tahmin etmeme izin vereyim: Senin, m'kay? Soruna neden olan her şeyin, sizin hatalarınızda değil, müşteriniz için önemli olduğunu, sadece olası sorunun en yakın bağlantınız olduğunu farketmez. Yaptıklarını hatırladıkları son şey, onlar için yeni bir tema oluşturmanızı sağlıyor.

Muayenenizde, müşterinin sitenin hala mevcut kararlı sürümden daha eski bir WordPress sürümünde çalıştığını fark ederseniz, birkaç saniye sürün ve kendinizi yüzünüze atar: sol yanak, sonra sağ yanak. Temanızın bunları yapmasına izin vermemeli!

Eğer WordPress'in 3.6 sürümünden dikkat ederseniz, varsayılan temaların 3.6'dan daha yeni WP sürümlerine sınırlandırılan varsayılan temanın functions.php dosyasında oldukça yüksek bir işlevi görmeye başlamış olacaksınız. Aslında, Twenty Fourteen'in functions.php dosyasında tanımlanan ikinci işlevdir !

Bu işlev şöyle bir şey:

/*** Twenty Fourteen only works in WordPress 3.6 or later.*/if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {require get_template_directory() . '/inc/back-compat.php';}

Bu back-compat.php dosyasının içeriğine ilgi duyuyoruz . Tanımlanan işlevler, kendi temalarımızla kullanmak için neyin peşinde olduğumuzdur.

Eski WordPress için ülke yok

Neredeyse hangi özellikleri uyguladığınız önemli değildir, ancak eğer mümkünse, temalarınızın kullanımını WordPress'in yeni sürümleriyle sınırlayın. Bu, son kullanıcının kurulumlarını güncellediğinden emin olur (güvenlik açısından kendileri için en iyisi) ve geliştirme sürenizin çoğunu kullanıcıların çoğunluğu için harcadığınızdan emin olmanızı sağlar.

Fonksiyonu tanımlamak

Bunu başarmak için, mevcut en son sürümüne karşı kurulu olan WordPress sürümüne karşı, PHP'nin en son sürümüne karşı sürümünü kontrol etmek için PHP version_compare () işlevini kullanırız. Bu, en yeni sürümün 3.6'dan küçük olmamasını sağlar. Hangi sürümü test edeceğiniz konusunda kendi seçiminizi yapın. 3.6 bir öneri değil, sadece bir örnek. Bu işlev şöyle bir şey:

if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {// do (or do not) somethingfunction butter_never_get_old() {switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );unset( $_GET['activated'] );add_action( 'admin_notices', 'butter_step_your_game_up' ); // we add some admin notices here (we haven't defined this function yet)}add_action( 'after_switch_theme', 'butter_never_get_old' );}

Bu işlevin yaptığı şey, yalnızca after_switch_theme () çekirdek işlevi çağrıldığında çalışacak olan bir butter_never_get_old () işlevini tanımlar . Şimdiye kadar, sürüm kontrolümüzün içinde yer alan butter_never_get_old () işlevi aşağıdakileri yapar:

  1. Şu anda hangi WordPress sürümünün yüklü olduğunu kontrol eder
  2. Sürümün Sürüm 3.6'dan daha yeni olduğundan emin olur
  3. Kozmik olarak alakalı If / Else'yi çalıştırır:
  4. Eğer öyleyse: Temayı etkinleştirin.
  5. Değilse: Temayı aktive etmeyin. Bunun yerine, varsayılan temayı yeniden etkinleştirin / etkinleştirin ve güzel olmak için kullanıcının gülünç eski kurulumunu yükseltme talimatını veren güzel bir mesaj çıkar. Hadi büyükbaba!

Çıplaklık, dürtme! Bu sürümü% s *

Ardından, WP sürümünün istediğimizden daha eski olduğu anlamına gelen bir şeylerin ters gitmesi durumunda yönetici bildirimlerimizi basan butter_step_your_game_up () işlevini tanımlamamız gerekiyor.

function butter_step_your_game_up() {$update_message = sprintf( __( 'This theme requires WordPress version 3.6 or newer. You're currently using version %s. Please upgrade.', 'butter' ), $GLOBALS['wp_version'] );printf( '

%s

', $update_message );}

Yukarıda belirtilen butter_step_your_game_up () işlevi, $ update_message değişkeninde (bu tema gerektirir… vb.) Dönüştürülebilir hata mesajı dizgimizi ayarlar ve daha sonra kullanıcıya (daha önce tanımlanmış butter_never_get_old () işlevinden) ve görsel olarak, kullanıcıya yazdırılır ve görüntülenir. 'hata' sınıfı olan bir div. Bu mesaj, istediğiniz şekilde stil uygulayabilirsiniz.

Yani, tüm söyledim, fonksiyonumuz şöyle görünmeli:

if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {// This function deactivates our newly activated theme if WP isn't newer than 3.6// It then re/activates the default themefunction butter_never_get_old() {switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );unset( $_GET['activated'] );add_action( 'admin_notices', 'butter_step_your_game_up' );}add_action( 'after_switch_theme', 'butter_never_get_old' );// This function, called from within the above function// outputs the relevant message that nudges the theme's user// to upgradefunction butter_step_your_game_up() {$update_message = sprintf( __( 'This theme requires WordPress version 3.6 or newer. You are currently using version %s. Please upgrade!', 'butter' ), $GLOBALS['wp_version'] );printf( '

%s

', $update_message );} }

Bununla birlikte, temanızın 3.6 sürümünden eski WordPress yüklemelerinde etkinleştirilemeyeceğini garanti ediyorsunuz.

Temiz tut

Mümkün olduğunca, işlevlerinizi temiz tutmalısınız. Her işlevin ne yaptığını hızlı bir şekilde tarayabilmeniz ve hemen ayırt edebilmeniz açısından temiz olmalıdır. Bu amaçla, işlevimizi bir içerme klasörüne taşımak isteyebiliriz.

Henüz yapmadıysanız, bir klasör oluşturun ve tema dizininizin içine 'inc' adını verin. Bunun içinde, back-compat.php olan bir php dosyası ve adı oluşturun. Yeni oluşturduğumuz işlevin içeriğini copy.php dosyasında sadece version_compare () bırakarak kopyalayıp yapıştırın :

if ( version_compare( $GLOBALS['wp_version'], '3.6', '<' ) ) {require get_template_directory() . '/inc/back-compat.php';}

/İnc/back-compat.php dosyasının içinde, daha önce tanımladığımız işlevleri yapıştırın:

function butter_never_get_old() {switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );unset( $_GET['activated'] );add_action( 'admin_notices', 'butter_step_your_game_up' );}add_action( 'after_switch_theme', 'butter_never_get_old' );function butter_step_your_game_up() {$update_message = sprintf( __( 'This theme requires WordPress version 3.6 or newer. You are currently using version %s. Please upgrade!', 'butter' ), $GLOBALS['wp_version'] );printf( '

%s

', $update_message );}

Sonuç

İyi bir geliştiriciye, kodlarının uyumluluğunu sınırlamaları gerektiğini söylemek zor bir satış. Ancak, WordPress kod tabanının büyüklüğü, özellikle de geriye dönük uyumluluğa odaklandığınızda, temanızın kapsamını pratik bir gereklilik olarak sınırlandırır. WordPress'in kendisi bunu yaparken geçerliliğini vurgulamalıdır.

Ve şimdi, tarih kodunun sunduğu sabit engellerden kurtulduktan sonra, enerjilerinizi ait oldukları yere odaklayabilirsiniz: WordPress'in müthiş gücünü kullanmak.

Öne çıkan görsel / küçük resim, kullanımlar uyumluluk resmi Shutterstock üzerinden.