WordPress Eklenti Geliştirme: Araştırılan Temel Bilgiler


WordPress'in eklenti ekosistemi aracılığıyla sonsuza kadar genişlemek üzere oluşturulma biçiminden yeterince övgüye değer olamaz.

Yine de eklentiler bazen kötü bir rap alır. WordPress'i beş dakikadan uzun süredir kullanan herkes, herhangi bir sayıda sorun nedeniyle, bir anda veya başka bir zamanda, kendilerini belirli bir eklentiden şikayet ederken bulacaktır.

Ama açık olalım: Sorun eklentiler değil. Sorun, kötü kod ve kötü geliştirme uygulamalarıdır – her geliştiricinin işine yaraması gereken şeyler.

Yukarıdakileri göz önünde bulundurarak, bu makalede eklenti geliştirmenin temellerine odaklanmak istiyorum. Bu makale, WordPress eklentisi geliştirmeye yeni başlayanlar için harika bir başlangıç ​​olmasının yanı sıra daha deneyimli geliştiriciler için en iyi uygulamaları hatırlatmayı amaçlamaktadır.

Başlayalım!

Bir Eklenti veya Alternatif Kullanmalı mıyım?

Kodun bir eklentide veya bir temada uygulanabileceği göz önüne alındığında, kendinizi genellikle doğru eylem planını merak ederken bulabilirsiniz. Kodunuz bir eklentiye mi girmeli yoksa alternatifler daha mı uygun?

Kodunuzun Amacını Bilin

Kural olarak, eklemeyi düşündüğünüz yeni özellik temanızın tasarımında bir değişikliği temsil ediyorsa, bir alt temaya eklenmelidir. Öte yandan, amaçlanan özellik işlevsellik getirir veya değiştirirse, bir eklentiden geçer.

Bununla birlikte, işlev ve tasarım arasında her zaman net bir çizgi yoktur. Bu gibi durumlarda, web sitenizin tasarımını/temasını değiştirmeye karar verdiğinizde yeni özelliği kullanılabilir durumda tutmak isteyip istemediğinizi düşünmek daha basit bir yaklaşım olacaktır, bu da bizi bir sonraki noktaya getiriyor.

Eklentiler Temadan Bağımsızdır

Bir alt temaya eklediğiniz tüm kodlar, temaları değiştirdiğiniz anda kaybolacaktır. Eklediğiniz tüm bu küçük kod parçalarını kurtarmak kesinlikle zahmetli olacaktır. Bazı durumlarda, sadece bu kod parçalarını bulmak yeterince zor olabilir.

Eklentilerin, alt temalar ve/veya function.php dosyası aracılığıyla yapılan değişiklikleri geride bıraktığı yer burasıdır. Kodunuz sizinle kalır ve yeni bir temayla birlikte dağıtıma hazırdır. Kullanıcının, işlevsellikte herhangi bir kayıptan korkmadan tasarımları değiştirebilmesi çok önemlidir. İşlevselliğe ihtiyacınız yok mu? Eklentiyi devre dışı bırakmanız yeterlidir.

Bir Eklentiyi Kolayca Ölçeklendirebilirsiniz

Eklentiler, kodu bölümlere ayırmada harikadır. İhtiyaçlarınıza göre kolayca değiştirilebilen ve ölçeklenebilen bir dizi tatlı kod elde edersiniz. Bu tek başına, function.php dosyasına kod eklemekten ve değişikliklerinizi kaydettiğiniz anda "beyaz ölüm ekranı" korkusuyla yaşamaktan çok daha iyi çalışır.

Eklentiler, Hello Dolly gibi süper basit veya web sitenize kapsamlı değişiklikler getirecek kadar karmaşık olabilir – WooCommerce gibi – bu nedenle ölçeklenebilirlik gerçekten önemli hale gelir.

Eklentiler aracılığıyla işlevsellik dağıtmanın gizli bir avantajı da vardır: Eklentinizi daha geniş WordPress topluluğuna yayınlayabilir ve hatta gelecekte ticarileştirebilirsiniz.

Çok Fazla Eklentiniz Olabilir mi?

Eklentilerin WordPress web siteniz için "kötü" olması, eklentilerin doğal eksiklikleri nedeniyle değil, daha çok bu inançların bir şehir efsanesinin boyutlarını almış gibi görünmesi nedeniyle yaygınlaşan bir efsanedir.

Eklentilerle ilgili bazı efsanelere hızlıca bir göz atalım:

  • Temalardaki kod, eklentilerdeki koddan daha iyi performans gösterir.
  • Eklentiler web sitenizi yavaşlatır.
  • Eklentiler kaynak domuzlarıdır.

Cesaretinizi olmamalıdır Bu iddialara gerçeği olabilir. Bir tema veya bir eklenti tarafından yürütülen bir kod yığını arasında (bazı durumlarda) zamanlama dışında hiçbir fark yoktur. Eklentiler genellikle ilişkili veritabanlarını, stil sayfalarını ve komut dosyalarını yükler. Yani temaya yerleştirilen kod olacak!

Sorun genellikle eklentilerin gerekli olmayan kaynakları yüklemesi veya gerekli olmasa bile kaynakları yüklemesidir. Örneğin, sosyal paylaşım eklentinizi yalnızca kalıcı bağlantı veya tek gönderi sayfalarında görünecek şekilde ayarlamış olabilirsiniz. Yine de bazı eklentiler, görünmez kalırken kaynaklarını dizin sayfasına da yükleyebilir. Veya bazı kullanıcıların paylaşım için birden fazla eklentisi olabilir, bu nedenle bir sayfa için benzer kaynakları birden çok kez yükleyebilir.

Bu, kullanıcıların veya geliştiricilerin eklentileri işleme biçiminde bir sorundur – bu, kendi başına eklentilerle ilgili bir sorun değildir .

Başka bir deyişle, eklentiler başka yerlerdeki kodlardan daha fazla kaynak veya daha fazla zaman almaz; sorunlar, kötü koddan ve WordPress eklentisi geliştirme sırasındaki kötü uygulamalardan kaynaklanır.

WordPress Eklenti Geliştirme En İyi Uygulamaları

En iyi uygulamalar, iyi bir eklenti geliştirmenin temel taşıdır. Tıpkı kodunuzu okunabilir hale getirmenin gelecekteki geliştirme açısından avantajlı olması gibi, en iyi uygulamaları takip etmek, eklentinize ince ayar yapar ve kötü bir eklentinin daha sonra getirebileceği baş ağrılarını ortadan kaldırır.

Eklenti için kullandığınız becerilerden bağımsız olarak, eklentinizin gerçekten ne kadar iyi performans gösterebileceğini tanımlayacak olan en iyi uygulamalardır. İdeal olarak, bir WordPress eklentisi aşağıdaki en iyi uygulamalar göz önünde bulundurularak çalışmalıdır:

Her Şeyin Öneki

Eklentinizle çalışmak için benzersiz bir tanımlayıcıya sahip olun (WordPress tarafından kullanılan 'wp'ye benzer). Her dosya, değişken ve işlev bu benzersiz tanımlayıcıyı almalıdır. Çoğu durumda, eklenti adınızın baş harfleri olabilir veya önek alakalı ve benzersiz olduğu sürece biraz yaratıcı olabilirsiniz.

Temiz Bir Klasör Yapısı Kullanın

Eklenti dizininizin kök düzeyi, eklenti-adı.php ve (isteğe bağlı olarak) kaldırma dosyası dışındaki dosyaları içermemelidir. Diğer her şey ilgili dizinlere gider. Javascript bir 'js' dizinine girer, görüntüler bir 'images' dizinine gider, vb.

Genişlemeye Yol Açın

Eklentinin işlevselliğini genişletmeyi düşünüyorsanız, eklenti mimarisini gelecekteki değişikliklere yer bırakacak şekilde geliştirin. Basit eklentiler bunu gerektirmeyebilir, ancak gelecekteki geliştirme kapsamını öngörüyorsanız, eklenti mimarinizi hemen önden alın.

Hata Ayıklama Modu Açık Olmadan Asla Eklenti Yazmayın

Bir eklenti yazmaya başladığınızda yaptığınız ilk şey, hata ayıklama modunu açmaktır. WordPress, geliştirme için işler ters gittiğinde hatalara neden olur, ancak hata ayıklama modu etkin değilse, hataları işaretlemek için bunu bilmenizin bir yolu olmazdı.

Başka bir avantaj olarak, hata ayıklama modu sizi en son WordPress işlevleriyle güncel tutar. Tüm değişiklikler ve güncellemeler akarken, yeni işlevler veya kullanımdan kaldırılan işlevler hakkında bilgi sahibi olmak mümkün olmayabilir.

Hata ayıklama modunu etkinleştirmek için, WordPress kök dizinindeki wp-config.php dosyasına gidin (değişiklik yapmadan önce yedekleyin!) ve aşağıdaki satırı bulun:

define('WP_DEBUG', false);

Bu satırın şu şekilde değiştirilmesi gerekiyor:

 // Switch on debugging

define('WP_DEBUG', true);

// Direct WordPress to the debug log file /wp-content/debug.log file

define('WP_DEBUG_LOG', true);

// PHP 'display_errors' variable is not forced

define('WP_DEBUG_DISPLAY', false);

// Stops errors from being displayed onscreen

@ini_set('display_errors', 0);

Bu kadar basit!

Eylemler ve Filtrelerin Açıklaması

Eklentiler, kodu değiştirmek ve kodla etkileşim kurmak için WordPress kancalarını kullanarak çalışır. İki tür kanca vardır:

1. Eylemler

Basitçe (ve kelimenin tam anlamıyla) ifade etmek gerekirse, Eylemler olmuş bir şeyi temsil eder. İşlevsellik eklemek veya WordPress'in çalışma şeklini değiştirmek için kullanılabilirler. WordPress, belirli noktalarda veya belirli olayların meydana gelmesiyle Eylemleri çağırır.

Eylemler, WordPress kontrol panelinizi değiştirmek veya aşağıdaki örnekte olduğu gibi araç çubuğuna özel metin ve URL eklemek gibi çeşitli amaçlar için kullanılabilir:

 add_action( 'wp_before_admin_bar_render', 'wwtp_modifying_toolbar_example' );

function wwtp_modifying_toolbar_example() {

    global $wp_admin_bar;

    $wp_admin_bar->add_node( array(

        'id'    => 'site-developer',

        'title' => 'Reach out to the Website Developer',

        'href'  => 'https://www.elegantthemes.com/,

        'meta'  => array( 'target' => '_blank' )

    ) );

}

Kodu iyi uygulamaya göre ayarlamak için benzersiz bir önek olarak wwtp'nin önek olarak kullanımına dikkat edin.

WordPress Eklenti Geliştirme - Araç çubuğunda eylemi kullanma

WordPress Kodeksi, WordPress'inizde değişiklik yapmak için kullanılabilecek bir eylemler listesine sahiptir.

2. Filtreler

Filtreler, verilerle etkileşime giren kancalardır; veri tabanından tarayıcıya akarken veya tam tersi şekilde verileri yönetebilir ve değiştirebilirler. Örneğin, tarayıcının bir gönderi talep ettiği bir senaryoyu düşünün. WordPress gönderiyi tarayıcıya aktarırken, eklenen tüm filtreleri uygular.

Bir web sayfasının kalıcı bağlantısını temizlemek için filtreleri kullanabilirsiniz. Buradaki örnekte, ben permalink gelen bir kaldırırız – Dur kelimenin kurtulmak için iyi bir yol.

 add_filter( 'sanitize_title', 'wwtp_remove_of_stopword' );

function wwtp_remove_of_stopword( $title ) {

    $title = str_replace( '-of-', '-', $title );

    $title = preg_replace( '/^of-/', '', $title );

    return $title;

} 

Yine, WordPress Kodeksi, kendinizi filtreler hakkında bilgilendirmek için harika bir kaynaktır.

Kendi Eklentinizi Nasıl Oluşturursunuz (Temel Bilgiler)

Artık WordPress eklentisi geliştirmeyle ilgili kavramlara hakim olduğumuza göre, bir eklenti oluşturmaya giden adımların üzerinden geçebiliriz.

Yapmanız gereken ilk şey, eklentinin adına ve kullanacağınız benzersiz ön eke karar vermektir.

wp-content/plugins dizinine gidin ve eklentinizin adını taşıyan bir klasör oluşturun. Mevcut amaçlarımız için, buna sadece mytestplugin diyelim .

Eklentinin dizini artık eklenti için gereken PHP dosyasını barındırabilir; wwtp_mytestplugin.php olarak adlandıralım . Unutmayın – en iyi uygulamaları izleyerek – daha fazla dosya varsa, belirli dizinlere gitmeleri gerekir. İdeal olarak, kök düzeyinde yalnızca bir dosya kalmalıdır.

Şimdi WordPress'e küçük dosyamızın bir eklentiyi temsil ettiğini söylememiz gerekiyor. Dosyaya bazı parametreler ekleyeceğiz, böylece WordPress bir eklenti ile uğraştığını bilecektir:

<?php

/**

* Plugin Name: My Test Plugin

* Plugin URI: http://add_your_uri_here.com/

* Description: Tell the world what your plugin wants to achieve.

* Version: 1.0 adding a version is always handy.

* Author: Your name

* Author URI: If your personal website is different than the plugin website, it goes here.

* License: A license name

*/

İşte! WordPress bir eklentiniz olduğunu biliyor.

WordPress Eklenti Geliştirme - Etkinleştirilmiş test eklentisi

Artık WordPress eklentimizi öğrendiğine göre, onun bir şeyler yapmasına ne dersiniz? Yazı editörüne bir mesaj bırakalım. Önceki grubu takip etmek için bu kodu eklemeniz yeterlidir; eklenti harekete geçebilir:

 add_filter( 'the_editor_content', 'wwtp_adding_text_notes' );

function wwtp_adding_text_notes( $content ) {

    // Only add this text if the box is empty. We don't want to mess up drafts!

    if ( empty( $content ) ) {

        $template  = 'Hey let us start writing...' . "\n\n";

        $template .= '<ul><li>Add useful text</li><li>Make good use of images</li><li>And don\'t forget the alt text!</li></ul>' . "\n\n";

        return $template;

    } else

        return $content;

}

Eklentimiz çalışırken şöyle görünüyor:

WordPress Eklenti Geliştirme - Eklenti Sonucu Testi

Artık WordPress Eklentisi geliştirmenin temellerini öğrendiğinize göre, daha gelişmiş bir şey denemek isteyebilirsiniz. Andy'nin bir WordPress eklentisi geliştirmeyle ilgili makalesi, daha karmaşık eklentiler oluşturma yolculuğunuza başlamak için mükemmel bir yerdir.

Çözüm

WordPress eklenti geliştirmenin temellerini bilmek, bu CMS'nin her kullanıcısı için faydalı olabilir. Eklentilerin gücünü kabul ettiğinizde ve bu çok kullanışlı kod parçalarına karşı şüphelerinizi giderdiğinizde, işlevsellik eklemek çok daha kolay olabilir.

Eklentinizi düzgün ve sağlıklı tutmak için en iyi uygulamaları takip edin ve sonuçta ortaya çıkan ölçeklenebilirlik ve esnekliğin keyfini çıkarabilirsiniz. İhtiyaçlarınız için her zaman bir eklenti bulmanız gerekmez; basit görevleri kendiniz halledebilirsiniz.

Artık sitenize özel işlevler eklemenin ve onu temadan bağımsız tutmanın temellerini biliyorsunuz. Ekleyebileceğiniz eklentilerin sayısı hakkında endişelenmeyin – istediğiniz kadar kullanın, ancak kaliteli eklentilere odaklanın.

Eklenti hikayelerinizi ve kendi eklentilerinizi geliştirme konusundaki deneyimlerinizi aşağıdaki yorumlarda bize bildirin!

Image Credit: retrorocket / ShutterStock

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir