WooCommerce Eklenti Geliştirme Ortamının Kurulması
WooCommerce eklenti geliştirmeye başlamak için öncelikle profesyonel bir yerel geliştirme ortamı oluşturmanız gerekmektedir. Kullanımı önerilen araçlar arasında…Local by Flywheel或XAMPPEntegrasyon ortamını hazırlayın ve en yeni sürümlerdeki WordPress ile WooCommerce’ü yükleyin. Bunun doğru yapıldığından emin olun.wp-config.phpDosyada,WP_DEBUGAyarları yapın.trueHataları ve uyarıları geliştirme sürecinde tespit edebilmek için.
Eklentilerin temel yapısını oluşturmak genellikle bir ana dosyadan başlar. Bu dosya, eklentinin giriş noktasıdır ve WordPress tarafından tanınabilmesi için standart eklenti başlık bilgilerini içermelidir. Eklentinin ana dosyasının adı benzersiz olmalıdır, örneğin:my-custom-woocommerce.phpAşağıda, temel bir eklenti (plugin) dosyası yapısının örneği bulunmaktadır.
<?php
/**
* Plugin Name: My Custom WooCommerce Features
* Description: 为WooCommerce添加自定义电商功能。
* Version: 1.0.0
* Author: Your Name
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // 防止直接访问
} Temel yapıda, ayrıca WooCommerce’un bağımlılıkların yüklenme mekanizmasını da anlamanız gerekiyor. Eklenti kodunuzun bunu dikkate alması gerekir.plugins_loaded或initDüğümün ardından bu kodu çalıştırarak, WooCommerce’un temel sınıflarının tamamen yüklendiğinden emin olabilirsiniz. Bunu şu şekilde yapabilirsiniz:class_exists( 'WooCommerce' )WooCommerce’in etkinleştirilip etkinleştirilmediğini kontrol etmek, iyi bir uyumluluk sağlamanın ilk adımıdır.
Tavsiye edilen okuma WordPress Eklenti Geliştirme Üzerine Derinlemesine Analiz: Sıfırdan Özelleştirilmiş İşlevler Oluşturarak Eklenti Genişletme。
Çekirdek İşlev Geliştirme: Hook’ların ve Filtrelerin Kullanımı
WooCommerce’in güçlü yanı, genişletilebilirliğidir ve bu özellik esas olarak Eylem Kancaları (Action Hooks) ve Filtre Kancaları (Filter Hooks) aracılığıyla sağlanır. Eylem Kancaları, belirli anlarda özel kodları çalıştırmanıza olanak tanır; Filtre Kancaları ise size iletilen verileri değiştirmenize imkan verir.
Nasıl özel ödeme alanları eklenir?
Yaygın bir ihtiyaç, ödeme sayfasına ek alanlar eklemektir. Bu, aşağıdaki yöntemlerle gerçekleştirilebilir:woocommerce_checkout_fieldsBunu filtreler aracılığıyla gerçekleştirebilirsiniz. Aşağıdaki kod, fatura bilgi alanına basit bir “Şirket Vergi Numarası” alanının nasıl ekleneceğini göstermektedir.
add_filter( 'woocommerce_checkout_fields', 'my_custom_checkout_fields' );
function my_custom_checkout_fields( $fields ) {
$fields['billing']['billing_vat_number'] = array(
'label' => __('税号 / VAT Number', 'woocommerce'),
'placeholder' => _x('请输入您的公司税号', 'placeholder', 'woocommerce'),
'required' => false, // 根据需求设置为 true 或 false
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
} Alanları ekledikten sonra, bunları kullanmanız da gerekecek.woocommerce_checkout_update_order_metaBu eylem, alan değerlerini sipariş meta verilerine kaydeder ve bunları kullanır.woocommerce_admin_order_data_after_billing_address和woocommerce_order_details_after_customer_detailsBu değeri, hem ön taraftaki hem de arka taraftaki sipariş sayfalarında göstermek için gerekli olan “hook” (düğüm/kontrol noktası) kodlarını ekleyin.
Ürün fiyatlarının hesaplama mantığını değiştirmek
Bir diğer temel senaryo, ürün fiyatlarını özelleştirilmiş kurallara göre ayarlamaktır. Örneğin, belirli kullanıcı rollerine ek indirimler sağlamak mümkündür. Bu, şu şekilde gerçekleştirilebilir:woocommerce_product_get_priceFiltreler, bu işlevi gerçekleştirmek için kullanılır. Filtre, her fiyat alımında çağrılır ve dinamik fiyatlandırmayı mümkün kılar.
add_filter( 'woocommerce_product_get_price', 'custom_role_based_discount', 10, 2 );
function custom_role_based_discount( $price, $product ) {
if ( is_user_logged_in() && current_user_can( 'wholesale_customer' ) ) {
// 为批发客户提供15%的折扣
$price = $price * 0.85;
}
return $price;
} Özel bir yönetim arayüzü ve ayar seçenekleri oluşturun.
Eklentinizin işlevlerinin yapılandırılabilir olması için genellikle net bir yönetim ayarları sayfası oluşturmanız gerekir. WordPress bunu sağlar.Settings APIAyar sayfalarını, bölümleri ve alanları düzenli bir şekilde ekleyin.
Tavsiye edilen okuma WooCommerce Eklentileri için Kapsamlı Rehber ve Kod Açıklamaları: Kurulumdan Özelleştirilmiş Geliştirmeye。
WooCommerce ayarlarında yeni bir sekme ekleyin.
En iyi uygulama, eklentinizin ayarlarını WooCommerce’un mevcut ayar yapısına entegre etmektir. Bunu yapmak için şu yöntemleri kullanabilirsiniz:woocommerce_get_settings_pagesBir yeni ayar sayfası sınıfı eklemek için bir filtre kullanılır. Öncelikle, mevcut bir sınıftan türetilen yeni bir sınıf oluşturun.WC_Settings_PageBu sınıfın…
add_filter( 'woocommerce_get_settings_pages', 'add_my_custom_settings_page' );
function add_my_custom_settings_page( $settings ) {
$settings[] = include plugin_dir_path( __FILE__ ) . 'includes/class-wc-settings-my-plugin.php';
return $settings;
} Sonra,class-wc-settings-my-plugin.phpBu sınıfı dosyada tanımlayın ve ardından yeniden yazın.get_settings()Bir ayarlar alanı dizisini döndürmek için kullanılan yöntem.
class WC_Settings_My_Plugin extends WC_Settings_Page {
public function __construct() {
$this->id = ‘my-plugin’;
$this->label = __(‘我的插件’, ‘my-text-domain’);
parent::__construct();
}
public function get_settings() {
return array(
array(
‘title’ => __(‘基本配置’, ‘my-text-domain’),
‘type’ => ‘title’,
‘id’ => ‘my_plugin_options’
),
array(
‘title’ => __(‘启用功能’, ‘my-text-domain’),
‘desc’ => __(‘启用自定义折扣功能’),
‘id’ => ‘my_plugin_enable_discount’,
‘default’ => ‘no’,
‘type’ => ‘checkbox’
),
// ... 更多设置字段
);
}
} Ayar verilerini kaydetme ve doğrulama
geçmek (bir fatura veya teftiş vb.)Settings API和WC_Settings_PageSınıfa eklenen ayarların kaydedilmesi ve doğrulanması işlemleri, WooCommerce çekirdeği tarafından otomatik olarak gerçekleştirilir. Yine de bunları kendiniz de yönetebilirsiniz.woocommerce_admin_settings_sanitize_option_{option_id}Filtreler, belirli alanlardaki değerleri ekstra bir şekilde temizler ve doğrular; böylece girilen verilerin doğruluğu ve güvenliği sağlanır.
Gelişmiş Özellikler ve Özelleştirilebilir Veri Tabloları
Eklentilerin karmaşık veya büyük miktarda ilişkisel veriyi depolaması gerektiğinde, WordPress’in özel veri tablolarını kullanmak, başka kaynaklara bağımlı olmaktan daha avantajlı olabilir.wp_postmetaTablo daha verimli hale getirilmiştir. Bu genellikle bir eklenti etkinleştirildiğinde olur.
Eklenti etkinleştirildiğinde veritabanı tablosu oluşturulur.
Kullanmanız gereken şey…register_activation_hookKancalar, eklentinin etkinleştirildiğinde çalıştırılacak fonksiyonları tanımlamak için kullanılır. Bu fonksiyonun içinde, gerekli işlemler yapılır.$wpdbNesneler ve…dbDelta()Bu fonksiyon, tablo yapınızı güvenli bir şekilde oluşturmanıza veya güncellemenize olanak tanır.dbDelta()Fonksiyon, SQL ifadelerinin formatının çok katı olmasını gerektirir.
register_activation_hook( __FILE__, ‘my_plugin_create_tables’ );
function my_plugin_create_tables() {
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$table_name = $wpdb->prefix . ‘my_plugin_subscriptions’;
$sql = “CREATE TABLE $table_name (
id bigint(20) NOT NULL AUTO_INCREMENT,
user_id bigint(20) NOT NULL,
product_id bigint(20) NOT NULL,
status varchar(20) DEFAULT ‘active’ NOT NULL,
created_at datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
PRIMARY KEY (id),
KEY user_id (user_id),
KEY product_id (product_id)
) $charset_collate;”;
require_once( ABSPATH . ‘wp-admin/includes/upgrade.php’ );
dbDelta( $sql );
} WooCommerce sorgularına özel verileri entegre etmek
Özel bir tablo oluşturduktan sonra, bu verileri WooCommerce’un sipariş veya ürün sorgulama sistemine entegre etmeniz gerekebilir. Örneğin, yönetici ürün listesine abone kullanıcı sayısını gösteren bir sütun ekleyebilirsiniz. Bunu yapmak için şu yöntemleri kullanabilirsiniz:manage_edit-product_columns和manage_product_posts_custom_columnFiltreler ve eylemler, kendi veritabanı sorgularınızla birleştirilerek bu işlevin gerçekleştirilmesini sağlar. Bu, harici verilerin WooCommerce’in varsayılan iş akışına sorunsuz bir şekilde entegre edilmesinin nasıl yapıldığını göstermektedir.
Tavsiye edilen okuma WooCommerce tam web sitesi oluşturma rehberi: Sıfırdan yüksek dönüşüm oranına sahip bir e-ticaret web sitesi oluşturma。
Özetle.
WooCommerce için özel eklentiler geliştirmek, bir ortam kurmaktan, eklentilerin işlevlerini yönetmek için gerekli araçları kullanmaktan, yönetim arayüzleri oluşturmaktan ve gerekli olduğunda özel verileri işlemeye kadar kapsamlı bir süreçtir. Önemli olan nokta, WooCommerce’un eklenti sisteminin derinlemesine anlaşılmasıdır; bu sistem sayesinde neredeyse her aşamada özel kodlar ekleyebilirsiniz. WordPress ve WooCommerce’un kodlama standartlarına uymak, yapısal olarak net, güvenli ve verimli kodlar oluşturmak, eklentinin uzun vadede stabil kalmasını, kolayca bakımının yapılabilmesini ve gelecekteki sürümlerle uyumlu olmasını sağlamanın anahtarıdır. Yukarıdaki yönergeleri uygulayarak, belirli iş ihtiyaçlarını karşılayacak güçlü ve profesyonel e-ticaret özellikleri geliştirebilirsiniz.
Sıkça Sorulan Sorular.
### için WooCommerce eklentisi geliştirmek istiyorsanız, hangi ön koşullara sahip olmanız gerekiyor?
PHP programlama dilinin temellerine ve nesne yönelimli programlama kavramlarına aşina olmanız gerekmektedir. Ayrıca, WordPress’in temel mekanizmaları olan Hook’lar (Kancalar), Filter’ler (Filtreler) ve Action’lar (Eylemler) konusunda net bir anlayışa sahip olmanız şarttır. Temel HTML, CSS ve JavaScript bilgileri, ön uç etkileşim özelliklerini geliştirmenize yardımcı olacaktır. WooCommerce’in temel veri yapılarını (siparişler, ürünler, kuponlar, kullanıcılar vb.) bilmek, geliştirme sürecini daha sorunsuz hale getirecektir.
Kendi özel eklentiminin WooCommerce’in gelecekteki sürümleriyle uyumlu olmasını nasıl sağlayabilirim?
Resmi geliştirme standartlarına ve en iyi uygulamalara uymak esastır. WooCommerce’in çekirdek dosyalarını doğrudan değiştirmekten kaçının; genişlemeleri her zaman resmi olarak sağlanan eklentiler (hook’lar) aracılığıyla yapın. Kodunuzda artık kullanılmayan (deprecated) fonksiyonlar veya yöntemler kullanmayın ve WooCommerce’in güncelleme kayıtlarını yakından takip edin. Eklentilerinizde test edilmiş en son WooCommerce sürüm numarasını belirtin. Eklentilerinizi iyi bir şekilde test edin, özellikle de WooCommerce büyük güncellemeler yayınlamadan önce ve sonra.
WooCommerce eklentisini satın almadan tüm API’lere erişebilir miyim?
Evet, WooCommerce’un çekirdek REST API’si kurulum sonrası varsayılan olarak etkinleştirilir ve siparişler, ürünler, müşteriler gibi temel veri modelleri için eksiksiz CRUD (Create, Read, Update, Delete) uç noktaları sağlar. Bu API’leri okuma ve yazma işlemleri için kullanabilirsiniz. Ancak, abonelik hizmetleri veya üyelik sistemleri gibi ücretli eklentiler tarafından sunulan belirli özellikler veya özelleştirilmiş uç noktalar, ilgili eklentilerin etkinleştirilmesinin ardından API aracılığıyla erişilebilir hale gelir. Çekirdek API’nin yetkileri, WordPress’in kullanıcı rolü ve yetki sistemi tarafından kontrol edilir.
WooCommerce eklentilerini giderirken kullanılabilecek bazı faydalı araçlar şunlardır:
Öncelikle, WordPress’ün hata ayıklama (debugging) modunun etkinleştirildiğinden emin olun. Yani…wp-config.phpAyarlar bölümünde…define(‘WP_DEBUG’, true);Hatalar ve uyarılar ekran üzerinde gösterilecek veya günlüğe kaydedilecektir. Ön uç JavaScript ve AJAX isteklerini incelemek ve hataları gidermek için tarayıcınızın geliştirici araçlarını (F12) kullanın. Kod mantığını takip etmek için “Query Monitor” gibi sorgu izleme eklentileri yükleyebilirsiniz; bu eklentiler veritabanı sorgularını, işlemlerin nasıl gerçekleştiğini ve performans sorunlarını analiz etmenize yardımcı olur. Karmaşık işlem akışları için, WooCommerce’un günlük dosyalarını kontrol etmek de çok önemlidir (bu dosyalar WordPress yönetim panelindeki “Durum” > “Günlükler” bölümünde bulunur).
Bir sonraki adım, bundan sonra ne yapmalıyım?
Daha fazla okuma ve pratik bilgiler.
Aşağıdaki içerikler bu makalenin konusuyla ilgilidir ve daha fazla okumak için uygundur. Öncelikle mevcut sorununuza en yakın makaleden başlayın, sonra çevresel konulara doğru ilerleyin, genellikle daha iyi sonuçlar alırsınız.
- WooCommerce E-Ticaret Sitesi Geliştirme Kılavuzu: Kurulumdan İşletmeye
- Sayfa yükleme hızı, WooCommerce mağazalarının dönüşüm oranlarını ve kullanıcı deneyimini etkileyen bir faktördür.
- WooCommerce’ı kullanarak çevrimiçi mağazanızı nasıl optimize edebilir ve dönüşüm oranlarınızı ile satış hacminizi nasıl artırabilirsiniz?
- WooCommerce ile web sitesi kurmaya yeni başlayanlar için bilinmesi gerekenler: Sıfırdan kendi e-ticaret platformunuzu oluşturun
- WooCommerce Mağazanızın Performansını Optimize Etmek İçin Nihai Kılavuz ve Pratik İpuçları