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.
