WP CLI ile WooCommerce Ayarlarını Okuma ve Değiştirme

WooCommerce mağazanızı yönetirken ayarları tek tek admin panelinden değiştirmek zaman kaybı olabilir. Özellikle birden fazla siteniz varsa ya da toplu değişiklikler yapmanız gerekiyorsa, WP CLI’nin wp wc setting komutu hayat kurtarıcı bir araç haline geliyor. Bu yazıda WooCommerce ayarlarını komut satırından nasıl okuyup değiştirebileceğinizi, gerçek dünya senaryolarıyla birlikte ele alacağız.

wp wc setting Komutuna Genel Bakış

WP CLI’nin WooCommerce eklentisiyle birlikte gelen wp wc setting komutu, WooCommerce’in tüm ayar gruplarına ve bu gruplardaki bireysel ayarlara erişmenizi sağlar. Yani admin panelinde Ayarlar > Genel, Ayarlar > Ürünler, Ayarlar > Ödeme gibi bölümlerde gördüğünüz her şeye terminal üzerinden ulaşabilirsiniz.

Komutun temel yapısı şu şekildedir:

wp wc setting <group> <command> [options]

Burada group, WooCommerce ayar grubunu temsil eder. list, get ve update alt komutlarıyla bu gruplardaki ayarları listeleyebilir, okuyabilir ve güncelleyebilirsiniz.

Dikkat: Bu komutların çalışması için WooCommerce eklentisinin aktif olması ve WP CLI WooCommerce paketinin kurulu olması gerekir. Ayrıca --user parametresiyle yönetici yetkisine sahip bir kullanıcı belirtmeniz gerekebilir.

Ayar Gruplarını Listeleme

İlk adım olarak hangi ayar gruplarının mevcut olduğunu görelim. Bu gruplar WooCommerce’in farklı bölümlerine karşılık gelir.

wp wc setting list --user=admin

Bu komut size şu gibi grupları listeleyecektir:

  • general: Para birimi, mağaza adresi gibi genel ayarlar
  • products: Ürün boyutları, ağırlık birimi, stok yönetimi
  • tax: Vergi hesaplama yöntemleri
  • shipping: Kargo hesaplama tercihleri
  • checkout: Ödeme sayfası ayarları
  • account: Müşteri hesap ayarları
  • email: E-posta şablon ve gönderim ayarları
  • integration: Üçüncü taraf entegrasyon ayarları
  • advanced: Sayfa atamaları, API anahtarları gibi gelişmiş ayarlar

Belirli bir gruptaki tüm ayarları listelemek için grup adını belirtmeniz yeterli:

wp wc setting list general --user=admin

Bu çıktıda her ayarın id değerini göreceksiniz. Bu id değerleri, belirli bir ayarı okurken veya güncellerken kullanacağınız tanımlayıcılardır.

Belirli Bir Ayarı Okuma

Bir ayarı okumak için get alt komutunu kullanırız. Söz dizimi şu şekildedir:

wp wc setting get <group> <setting_id> --user=admin

Örneğin mağazanızın para birimini öğrenmek için:

wp wc setting get general woocommerce_currency --user=admin

Çıktı olarak şöyle bir şey görürsünüz:

id: woocommerce_currency
label: Currency
value: TRY

Sadece değeri almak istiyorsanız --field=value parametresini ekleyebilirsiniz:

wp wc setting get general woocommerce_currency --field=value --user=admin

Bu kullanım özellikle bash script’lerinde değeri bir değişkene atamak için çok işe yarar:

CURRENCY=$(wp wc setting get general woocommerce_currency --field=value --user=admin)
echo "Mevcut para birimi: $CURRENCY"

Ayarları Değiştirme

Ayarları güncellemek için update alt komutunu kullanırız:

wp wc setting update <group> <setting_id> --value=<yeni_deger> --user=admin

Örneğin para birimini USD’den TRY’ye çevirmek için:

wp wc setting update general woocommerce_currency --value=TRY --user=admin

Para birimi pozisyonunu değiştirmek, yani TL sembolünü rakamın soluna mı sağına mı koyacağınızı belirlemek için:

wp wc setting update general woocommerce_currency_pos --value=left --user=admin

Geçerli değerler şunlardır:

  • left: Sembol solda (£99.99)
  • right: Sembol sağda (99.99£)
  • left_space: Sembol solda boşlukla (£ 99.99)
  • right_space: Sembol sağda boşlukla (99.99 £)

Gerçek Dünya Senaryosu 1: Mağaza Bakım Moduna Geçiş Hazırlığı

Bir e-ticaret sitesini güncelleme yaparken veya bakıma alırken genellikle bazı WooCommerce ayarlarını geçici olarak değiştirmeniz gerekir. Örneğin yeni ödeme yöntemi entegre ederken test ortamı ayarlarına geçmek isteyebilirsiniz.

Aşağıdaki script, mevcut ayarları yedekleyip test moduna geçişi otomatikleştirir:

#!/bin/bash
# WooCommerce test moduna gecis scripti
WP_PATH="/var/www/html/siteniz"
ADMIN_USER="admin"

cd $WP_PATH

# Mevcut degerleri kaydet
echo "=== Mevcut ayarlar yedekleniyor ==="
CURRENT_CURRENCY=$(wp wc setting get general woocommerce_currency --field=value --user=$ADMIN_USER)
CURRENT_PRICES_INCL_TAX=$(wp wc setting get tax woocommerce_prices_include_tax --field=value --user=$ADMIN_USER)

echo "Para birimi: $CURRENT_CURRENCY"
echo "Vergi dahil fiyat: $CURRENT_PRICES_INCL_TAX"

# Degerleri bir dosyaya kaydet
cat > /tmp/wc_backup_settings.txt << EOF
CURRENCY=$CURRENT_CURRENCY
PRICES_INCL_TAX=$CURRENT_PRICES_INCL_TAX
EOF

echo "Ayarlar /tmp/wc_backup_settings.txt dosyasina kaydedildi"
echo "Test moduna geciliyor..."

# Test ayarlarini uygula
wp wc setting update tax woocommerce_prices_include_tax --value=yes --user=$ADMIN_USER
wp wc setting update general woocommerce_calc_taxes --value=yes --user=$ADMIN_USER

echo "Test modu aktif edildi!"

Ürün Ayarlarını Yönetme

WooCommerce’in ürünle ilgili ayarları products grubu altında yer alır. Bu ayarlar arasında ağırlık ve boyut birimleri, stok yönetimi ve ürün görseli boyutları bulunur.

Ağırlık birimini kg olarak ayarlamak için:

wp wc setting update products woocommerce_weight_unit --value=kg --user=admin

Geçerli ağırlık birimleri:

  • kg: Kilogram
  • g: Gram
  • lbs: Pound
  • oz: Ons

Boyut birimini cm olarak ayarlamak için:

wp wc setting update products woocommerce_dimension_unit --value=cm --user=admin

Stok yönetimini aktif etmek için:

wp wc setting update products woocommerce_manage_stock --value=yes --user=admin

Düşük stok bildirimi eşiğini ayarlamak için:

wp wc setting update products woocommerce_notify_low_stock_amount --value=5 --user=admin

Bu sayede stok adedi 5’in altına düştüğünde bildirim alırsınız. E-ticaret sitelerinde stok takibi kritik olduğundan bu ayarı doğru yapılandırmak önemlidir.

Vergi Ayarlarını Yönetme

Türkiye’deki e-ticaret siteleri için vergi ayarları oldukça önemli. KDV hesaplamalarının doğru yapılması hem yasal zorunluluk hem de müşteri güveni açısından kritik.

Fiyatların KDV dahil gösterilip gösterilmeyeceğini ayarlamak için:

# Fiyatlar KDV dahil girilsin
wp wc setting update tax woocommerce_prices_include_tax --value=yes --user=admin

# Mağaza vitrininde fiyatlar KDV dahil gösterilsin
wp wc setting update tax woocommerce_tax_display_shop --value=incl --user=admin

# Sepet ve ödemede de KDV dahil gösterilsin
wp wc setting update tax woocommerce_tax_display_cart --value=incl --user=admin

Vergi hesaplama yöntemini ayarlamak için:

# Vergi hesaplama yöntemi: satir bazinda yuvarlama
wp wc setting update tax woocommerce_tax_round_at_subtotal --value=no --user=admin

Gerçek Dünya Senaryosu 2: Çoklu Site Yönetimi

Bir ajans olarak birden fazla WooCommerce sitesi yönetiyorsanız, aynı ayarları tüm sitelere uygulamak için bir bash script yazabilirsiniz. Bu yaklaşım hem zaman kazandırır hem de tutarlılığı sağlar.

#!/bin/bash
# Birden fazla WooCommerce sitesine ayni ayarlari uygula

SITES=(
    "/var/www/site1"
    "/var/www/site2"
    "/var/www/site3"
)

for SITE in "${SITES[@]}"; do
    echo "=== $SITE sitesi isleniyor ==="
    
    # Para birimi ayarla
    wp wc setting update general woocommerce_currency --value=TRY 
        --path=$SITE --user=admin
    
    # Binlik ayiraci nokta, ondalik ayiraci virgul
    wp wc setting update general woocommerce_price_thousand_sep --value="." 
        --path=$SITE --user=admin
    
    wp wc setting update general woocommerce_price_decimal_sep --value="," 
        --path=$SITE --user=admin
    
    # Ondalik basamak sayisi
    wp wc setting update general woocommerce_price_num_decimals --value=2 
        --path=$SITE --user=admin
    
    # Agirlik birimi
    wp wc setting update products woocommerce_weight_unit --value=kg 
        --path=$SITE --user=admin
    
    echo "$SITE ayarlari guncellendi!"
    echo "---"
done

echo "Tum siteler guncellendi."

Bu script’i cron job olarak da çalıştırabilirsiniz, örneğin haftalık ayar doğrulaması için.

E-posta Ayarlarını Yönetme

WooCommerce’in e-posta ayarları biraz daha karmaşık bir yapıya sahip. Her e-posta şablonunun kendi ayar grubu vardır. Ancak genel e-posta ayarlarına email grubu üzerinden ulaşabilirsiniz.

Genel e-posta ayarlarını listelemek için:

wp wc setting list email --user=admin

Gönderici adını ve e-posta adresini güncellemek için:

wp wc setting update email woocommerce_email_from_name --value="Mağazam" --user=admin
wp wc setting update email woocommerce_email_from_address --value="[email protected]" --user=admin

E-posta footer metnini güncellemek için:

wp wc setting update email woocommerce_email_footer_text 
    --value="Bu e-posta Magazam tarafindan gonderilmistir. Tum haklari saklidir." 
    --user=admin

Ödeme Sayfası Ayarları

Checkout yani ödeme sayfasıyla ilgili ayarlar da sıkça değiştirilmesi gereken ayarlar arasında yer alır.

Misafir ödemeyi aktif etmek için (hesap açmadan alışveriş):

wp wc setting update account woocommerce_enable_guest_checkout --value=yes --user=admin

Kayıt sırasında hesap oluşturma seçeneğini açmak için:

wp wc setting update account woocommerce_enable_signup_and_login_from_checkout --value=yes --user=admin

Kullanım şartları sayfasını zorunlu kılmak için önce sayfa ID’sini bilmeniz gerekir:

# Kullanim sartlari sayfasini bul
TERMS_PAGE_ID=$(wp post list --post_type=page --name="kullanim-sartlari" --field=ID)

# Sonra checkout ayarinda bu sayfayi ata
wp wc setting update advanced woocommerce_terms_page_id --value=$TERMS_PAGE_ID --user=admin

Gerçek Dünya Senaryosu 3: Dağıtım Pipeline’ına Entegrasyon

DevOps süreçlerinde WooCommerce ayarlarını deployment sırasında otomatik olarak yapılandırmak oldukça kullanışlıdır. Örneğin staging ortamından production ortamına geçerken bazı ayarların değişmesi gerekir.

#!/bin/bash
# Production deploy sonrasi WooCommerce ayarlarini yapilandir
# Bu script CI/CD pipeline'inda kullanilmak uzere tasarlanmistir

ENVIRONMENT=${1:-"production"}
WP_PATH="/var/www/html"
ADMIN_USER="admin"

echo "Ortam: $ENVIRONMENT"
echo "WooCommerce ayarlari yapilandiriliyor..."

if [ "$ENVIRONMENT" = "production" ]; then
    # Production ayarlari
    
    # Canli odeme gecidini aktif et (ornek: Iyzico, PayTR vs.)
    wp wc setting update checkout woocommerce_cod_enabled --value=yes 
        --path=$WP_PATH --user=$ADMIN_USER
    
    # Vergi hesaplama aktif
    wp wc setting update general woocommerce_calc_taxes --value=yes 
        --path=$WP_PATH --user=$ADMIN_USER
    
    # Stok yonetimi aktif
    wp wc setting update products woocommerce_manage_stock --value=yes 
        --path=$WP_PATH --user=$ADMIN_USER
    
    # Sepet bos oldugunda anasayfaya yonlendir
    wp wc setting update advanced woocommerce_cart_redirect_after_add --value=no 
        --path=$WP_PATH --user=$ADMIN_USER
    
    echo "Production ayarlari uygulandı!"

elif [ "$ENVIRONMENT" = "staging" ]; then
    # Staging ayarlari
    
    # Test odeme yontemlerini aktif et
    wp wc setting update checkout woocommerce_cod_enabled --value=yes 
        --path=$WP_PATH --user=$ADMIN_USER
    
    echo "Staging ayarlari uygulandi!"
fi

# Ayarlari dogrula
echo ""
echo "=== Ayar Dogrulama ==="
echo "Para birimi: $(wp wc setting get general woocommerce_currency --field=value --path=$WP_PATH --user=$ADMIN_USER)"
echo "Vergi hesaplama: $(wp wc setting get general woocommerce_calc_taxes --field=value --path=$WP_PATH --user=$ADMIN_USER)"
echo "Stok yonetimi: $(wp wc setting get products woocommerce_manage_stock --field=value --path=$WP_PATH --user=$ADMIN_USER)"

Faydalı Parametreler ve Seçenekler

wp wc setting komutlarında kullanabileceğiniz bazı önemli parametreler şunlardır:

  • –user=: Komutu hangi kullanıcı adına çalıştıracağınızı belirtir, yönetici yetkisi gerekir
  • –path=: WordPress kurulum dizinini belirtir, varsayılan olarak mevcut dizini kullanır
  • –url=: Multisite kurulumlarında hangi siteyi hedeflediğinizi belirtir
  • –field=value: Yalnızca değeri döndürür, script’lerde kullanışlıdır
  • –format=json: Çıktıyı JSON formatında verir, veri işleme için idealdir
  • –format=csv: Çıktıyı CSV formatında verir, raporlama için kullanışlıdır
  • –porcelain: Minimal çıktı verir, sadece temel bilgileri gösterir

JSON formatında çıktı almak özellikle ayarları başka sistemlere aktarırken işe yarar:

wp wc setting list general --format=json --user=admin | python3 -m json.tool

Sık Yapılan Hatalar ve Çözümleri

WP CLI ile WooCommerce ayarlarını yönetirken karşılaşabileceğiniz bazı sorunlar ve çözümleri:

Hata: “You don’t have permission to do that”

Bu hata genellikle --user parametresini unuttuğunuzda veya belirtilen kullanıcının yeterli yetkisi olmadığında çıkar.

# Yanlis
wp wc setting list general

# Dogru
wp wc setting list general --user=admin

Hata: “Invalid setting ID”

Ayar ID’sini yanlış yazmış olabilirsiniz. Önce list komutuyla mevcut ayarları listeleyin:

wp wc setting list products --user=admin | grep "id:"

Hata: “WooCommerce is not installed”

WooCommerce eklentisinin aktif olduğundan emin olun:

wp plugin list --status=active | grep woocommerce

Ayarları Toplu Dışa ve İçe Aktarma

Bir sitenin tüm WooCommerce ayarlarını dışa aktarmak ve başka bir siteye uygulamak için şu yaklaşımı kullanabilirsiniz:

#!/bin/bash
# WooCommerce ayarlarini JSON olarak disari aktar
GRUPLAR=("general" "products" "tax" "shipping" "checkout" "account" "email")

mkdir -p /tmp/wc_settings_backup

for GRUP in "${GRUPLAR[@]}"; do
    wp wc setting list $GRUP --format=json --user=admin 
        > /tmp/wc_settings_backup/${GRUP}.json
    echo "$GRUP ayarlari disa aktarildi"
done

echo "Tum ayarlar /tmp/wc_settings_backup/ dizinine kaydedildi"
ls -la /tmp/wc_settings_backup/

Bu yedekleri daha sonra inceleyerek kritik ayarları karşılaştırabilir ya da dokümantasyon amacıyla saklayabilirsiniz.

Sonuç

wp wc setting komutu, WooCommerce mağazanızı yönetirken ciddi zaman kazandıran bir araçtır. Admin panelinde tıklaya tıklaya ulaşacağınız ayarlara terminal üzerinden saniyeler içinde ulaşabilir, değiştirebilir ve doğrulayabilirsiniz. Özellikle şu durumlarda bu komutu kullanmak mantıklıdır:

  • Birden fazla WooCommerce sitesi yönetiyorsanız
  • CI/CD pipeline’ınıza WooCommerce yapılandırmasını dahil etmek istiyorsanız
  • Düzenli bakım scriptleri yazıyorsanız
  • Staging ve production ortamları arasında tutarlılık sağlamak istiyorsanız
  • Ayar değişikliklerini otomatik olarak loglamak ve takip etmek istiyorsanız

Bash script’lerini cron job’larla birleştirdiğinizde, mağaza ayarlarınızın her zaman istediğiniz değerlerde olduğundan emin olabilirsiniz. Bu da özellikle güvenlik açısından kritik ayarların (stok takibi, vergi hesaplama gibi) yanlışlıkla değiştirilmesi durumunda otomatik düzeltme imkanı sağlar.

WP CLI ekosistemi sürekli gelişiyor, bu yüzden wp wc setting --help komutunu çalıştırarak güncel parametreler ve yeni özellikler hakkında bilgi almayı alışkanlık haline getirmenizi öneririm.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir