Varyasyonlarla WooCommerce ürün nitelikleri nasıl eklenir: 2 yöntem

Yayınlanan: 2021-05-25

Farklı varyasyonlarla ürün özellikleri mi oluşturmak istiyorsunuz? Doğru yere geldiniz. Bu kılavuzda, WooCommerce ürün özelliklerini varyasyonlarla nasıl ekleyeceğinizi göstereceğiz .

WooCommerce özellikleri nelerdir?

WooCommerce'de, ürünlerinize nitelikler aracılığıyla bilgi ekleyebilirsiniz. Bu özellikler ürüne bağlıdır. Örneğin, giyim eşyaları için ortak özellikler boyut ve renk iken, bir dizüstü bilgisayar için ekran boyutu, RAM ve depolama kapasitesi olabilir.

Niteliklerle ilgili ilginç olan şey, küresel olmalarıdır. Bunları her bir ürüne uygulamak yerine, onları oluşturup farklı ürünlere eklemeniz yeterlidir.

Nitelikler şunlar için gereklidir:

  • Değişken ürünler : Değişken ürünler oluşturmadan önce onlar için nitelikler tanımlamanız gerekir. Bu, ürünün varyasyonlarını eklemenizi sağlar.
  • Ürünleri filtreleme : Filtrelemenin yaygın bir yolu niteliklere dayalıdır. Örneğin, bir kullanıcı 15 inç ekranlı bir dizüstü bilgisayar arıyor olabilir.

Ayrıca, varsayılan ürün niteliklerini de oluşturabilirsiniz. Bununla ilgili daha fazla bilgi için bu tam kılavuza bakın.

Artık öznitelikleri daha iyi anladığımıza göre, WooCommerce'de varyasyonlarla ürün özniteliklerinin nasıl ekleneceğini görelim.

Varyasyonlarla WooCommerce ürün özellikleri nasıl eklenir

WooCommerce'de varyasyonlarla ürün özellikleri eklemenin iki ana yolu vardır:

  1. WooCommerce kontrol panelinden
  2. programatik olarak

Her iki seçeneğe de bir göz atalım.

1) WooCommerce kontrol panelinden varyasyonlarla ürün özellikleri oluşturun

WooCommerce'de bir öznitelik eklemenin en kolay yolu Öznitelikler bölümündendir. Bunu yapmak için kontrol panelinizde Ürünler > Nitelikler'e gidin. Orada bir isim ve bilgi seçmeniz ve yeni bir ürün niteliği oluşturmak için “ Nitelik ekle ” düğmesine tıklamanız gerekecek.

Varyasyonlarla WooCommerce ürün özellikleri nasıl eklenir

Daha önce de belirtildiği gibi, özellikler geneldir, dolayısıyla yeni özellik mağazanızdaki tüm ürünler için geçerli olacaktır.

Ürün özelliğini ekledikten sonra, belirli ürünlerin varyasyonları olacak bazı terimler eklemeniz gerekir.

Örneğin, öznitelik ekran boyutu ise, farklı boyutlar (13 inç, 15 inç, 17 inç) terimler olacaktır.

Bu sayede her ürünün farklı özelliklerini birleştirebilir ve farklı varyasyonlar oluşturabilirsiniz. Örneğin, 13 inçlik kırmızı bir dizüstü bilgisayar, 15 inçlik mavi bir dizüstü bilgisayar vb. alabilirsiniz.

Gördüğünüz gibi, WooCommerce panosundan nitelikler ve varyasyonlar eklemek oldukça kolaydır. Ancak, birçok varyasyon oluşturmanız gerekiyorsa bu zaman alabilir. Varyasyonları toplu olarak oluşturmak ve çok sayıda özniteliği yönetmek için biraz kodlama kullanabilirsiniz.

WooCommerce'de programlı olarak ürün özelliklerinin nasıl ekleneceğine bir göz atalım.

2. Programlı olarak varyasyonlarla ürün nitelikleri nasıl oluşturulur?

Kodlama becerileriniz varsa, ürün özelliklerini ve varyasyonlarını programlı olarak ekleyebilirsiniz. Öznitelikleri toplu olarak ekleyebileceğiniz için, öznitelikleri oluştururken zamandan tasarruf etmek istiyorsanız bu harika bir seçenektir.

NOT : Bazı çekirdek dosyaları düzenleyeceğimiz için, başlamadan önce şunları yapmanızı öneririz:

  • Sitenizin tam bir yedeğini oluşturun, böylece bir şeyler ters giderse geri yükleyebilirsiniz
  • Bir alt tema oluşturun : Bu eklentilerden herhangi birini yükleyebilir veya bir tane oluşturmak için bu kılavuza göz atabilirsiniz. Bu şekilde, temanızı yeni bir sürüme güncellediğinizde özelleştirmelerinizi kaybetmezsiniz.

Özel kodunuzu alt temanızın functions.php dosyasına eklemeniz gerektiğini unutmayın.

Sitenizi yedekledikten ve alt temanızı oluşturduktan sonra, WordPress kontrol panelinizde Görünüm > Özelleştir'e gidin ve sağ sütunda functions.php dosyasını arayın. Ardından, aşağıdaki kodu dosyanın sonuna yapıştırın.

Tam PHP betiği

Bu tam senaryo, bir sonraki bölümde onu parçalara ayıracağız ve her bir parçanın ne yaptığını açıklayacağız.

 add_action('admin_init', 'QuadLayers_add_product_attributes');

function QuadLayers_add_product_attributes(){
    $atts=dizi(
        'size'=>dizi('XL','Küçük'),
        'color'=>dizi('kahverengi','gri','sarı'),   
    ); 
    foreach ($atts as $anahtar => $değerler) { 
       yeni add_attribute($anahtar,$değerler); 
    }
}

class add_attribute{   
     /*
     * Global bir woocommerce ürün özelliği Sınıfı kaydedin.
     *
     * @param str $nam | niteliğin adı
     * @param dizi $değerler | varyasyon dizisi
     * 
     */
    public function __construct($nam,$vals){

                $attrs = dizi();      
                $attributes = wc_get_attribute_taxonomies();                          
                    foreach ($attributes as $anahtar => $değer) {
                        array_push($attrs,$attributes[$key]->özellik_adı);                    
                    }              
               if ( !in_array( $ad, $attrs ) ) {            
                    $args = dizi(
                        'id' => '',
                        'sümüklü böcek' => $nam,
                        'isim' => __( $isim, 'woocommerce' ),
                        'tür' => 'seç',
                        'orderby' => 'menu_order',
                        'has_archives' => yanlış,
                        'sınır' => 1,
                        'is_in_stock' => 1
                    );                    
                   dönüş wc_create_attribute( $args ); 
                }               
               $this->add_var($nam,$değerler);
    }

    public function add_var($nam,$vals ){  
        $taksonomi = 'pa_'.$nam;      
        $term_slug = sanitize_title($nam); 
        // Terimin var olup olmadığını kontrol edin ve değilse onu oluşturun (ve terim kimliğini alın).
        için ($ff=0; $ff term_id;
            }
        }
    }
}

Bu betiğin mevcut özellikleri kaldırmayacağını, yalnızca yenilerini eklediğini belirtmekte fayda var. Ve eklemeye çalıştığınız nitelikler zaten oradaysa, komut dosyası hiçbir şey yapmayacaktır.

Ayrıca, bu örnek için bazı nitelikler ve terimler eklediğimizi unutmayın. Aşağıdaki diziyi düzenlemeniz ve kendi niteliklerinizi oluşturmanız gerekir.

 function QuadLayers_add_product_attributes(){
    $atts=dizi(
        'new-attribute'=>array('kenar','yanında','uzun','yok','kısa'),        
    ); 

Bundan sonra, yönetici kontrol panelinizdeki Ürünler > Nitelikler'e gidin . Her şey yolunda giderse, PHP betiğiyle eklediğiniz nitelikleri ve terimleri göreceksiniz.

Ürün özelliği varyasyonları

Varyasyonları göremiyorsanız, doldurmaları için sayfayı yeniden yüklemeniz yeterlidir.

Bunun yanı sıra, ürün düzenleyici sayfasında ürün varyasyonlarını ayarlamak için özellikler de mevcut olacaktır:

özellikler artık ürün varyasyonlarını ayarlamak için de kullanılabilecek,

Ve bu kadar! Artık PHP betiğini düzenleyebilir ve kendi WooCommerce ürün niteliklerinizi ve varyasyonlarınızı ekleyebilirsiniz. Hatta koşullu mantık uygulayarak dinamik olarak güncelleyebilirsiniz.

Senaryo nasıl çalışır?

Şimdiye kadar, mağazanıza WooCommerce ürün özelliklerini varyasyonlarla eklemek için bir komut dosyası gösterdik. Şimdi onu parçalayalım, böylece nasıl çalıştığını daha iyi anlayabilir ve özelleştirebilirsiniz.

Komut dosyasının ana bölümleri şunlardır:

Kanca
 add_action('admin_init', 'QuadLayers_add_product_attributes');

function QuadLayers_add_product_attributes(){
    $atts=dizi(
        'size'=>dizi('XL','Küçük'),
        'color'=>dizi('kahverengi','gri','sarı'),   
    ); 
    foreach ($atts as $anahtar => $değerler) { 
       yeni add_attribute($anahtar,$değerler); 
    }
}

Kodu başlatmak için admin_init() kancasını kullanıyoruz. Burada birkaç kanca daha kullanabilirsiniz, ancak bizim durumumuzda, bunu kullanarak betiğin performansını beğendik.

Hooked fonksiyonunda, öznitelik değerlerimizi ve varyasyonlarımızı tek bir çok boyutlu dizide tanımlarız. foreach() döngüsü, ana dizinin öğelerinin her biri için bir öznitelik yaratacaktır.

Döngünün içinde, öznitelik, add_attribute(); .

Sınıf

Özniteliği oluşturmaktan ve ona bazı varyasyonlar eklemekten sorumlu bir OOP sınıfı oluşturduk. Bu, yukarıdaki bölümdeki new add_attribute() kullanılarak sınıf her başlatıldığında tek bir çalıştırmada yapılır.

 class add_attribute{   
    public function __construct($nam,$vals){
                $attrs = dizi();      
                $attributes = wc_get_attribute_taxonomies();                          
                    foreach ($attributes as $anahtar => $değer) {
                        array_push($attrs,$attributes[$key]->özellik_adı);                    
                    }              
               if ( !in_array( $ad, $attrs ) ) {            
                    $args = dizi(
                        'id' => '',
                        'sümüklü böcek' => $nam,
                        'isim' => __( $isim, 'woocommerce' ),
                        'tür' => 'seç',
                        'orderby' => 'menu_order',
                        'has_archives' => yanlış,
                        'sınır' => 1,
                        'is_in_stock' => 1
                    );                    
                   dönüş wc_create_attribute( $args ); 
                }               
               $this->add_var($nam,$değerler);
    }

İlk işlev bir construct() ve özniteliği wc_create_attribute() WooCommerce yerleşik işlevini kullanarak oluştururken, ikinci işlevi de çağırır: add_var()

 public function add_var($nam,$vals ){  
        $taksonomi = 'pa_'.$nam;      
        $term_slug = sanitize_title($nam); 
        // Terimin var olup olmadığını kontrol edin ve değilse onu oluşturun (ve terim kimliğini alın).
        for ($ff=0; $ff < sayım($değerler) ; $ff++) {
            if( !term_exists( $değerler [ $ff ] , $taksonomi ) ){ $term_data = wp_insert_term($değerler [ $ff ] , $taksonomi ); $term_id = $term_data['term_id']; } else { $term_id = get_term_by( 'isim', $değerler [ $ff ] , $taksonomi )->term_id; } } }

İkinci işlev add_var() , işlevlerden geçtiği öznitelik için orijinal dizide bulunan tüm varyasyonları ekleyecektir.

Çözüm

Özetle, ürün özellikleri, değişken ürünler oluşturmanıza ve kullanıcıların ürünleri belirli özelliklere göre filtrelemesine yardımcı olur.

Bu kılavuzda, WooCommerce'de varyasyonlarla ürün özellikleri eklemenin iki farklı yolunu gördük:

  1. Yönetici panelinden
  2. programatik olarak

WooCommerce panosundan nitelikler oluşturmak kolaydır. Ancak, birkaç ürün için birçok özellik eklemeniz gerekiyorsa, bu zaman alabilir.

Alternatif olarak, kodlama becerileriniz varsa, bunları programlı olarak oluşturabilirsiniz. Bu, ürün özelliklerini toplu olarak eklemenizi sağlayan daha gelişmiş bir yöntemdir. Bu gönderide kullandığımız komut dosyası tamamen test edildi ve çalışıyor, bu nedenle onu temel almaktan ve özelleştirmekten çekinmeyin. Ancak, tek bir yükleme özelliğinde kullanılmak üzere tasarlandığını unutmayın, kalıcı olarak üretime dağıtmanızı önermiyoruz.

Komut dosyasını çalıştırmaya çalışırken bir hata alırsanız endişelenmeyin. Bu genellikle özellik listeleme sayfasında olduğunuz için olur. Komut dosyasını güncellemenin doğru yolu, WordPress yönetici panosunun kalıcı bağlantı sayfasını yeniden yüklemektir.

WooCommerce ürünlerini hem programlı olarak hem de yönetici panosundan doğru şekilde nasıl ekleyeceğiniz hakkında daha fazla bilgi için bu kılavuza bakın.

Mağazanızda ürün nitelikleri oluşturdunuz mu? Hangi yöntemi kullandınız? Aşağıdaki yorumlarda bize bildirin!