Ürün kataloğu

WooCommerce'te ürünlere toplu kategori atamanın üç yolu

Toplu Düzenle, CSV turu ve WP-CLI: hangisi kategori kaldırabiliyor, Uncategorized neden bir türlü temizlenmiyor. Bir de kimsenin hesabını yapmadığı kısım: toplu atamanın sonucu neden bayatlıyor.

WooCommerce’te ürünlere toplu kategori atamanın üç güvenilir yolu var: ürün listesindeki Toplu Düzenle, CSV dışa ve içe aktarma turu, bir de WP-CLI. Hangisini isteyeceğiniz kaç ürünü taşıdığınıza ve bir kategoriyi eklemenin yanında kaldırmanız gerekip gerekmediğine bağlı. İnsanlar tam da bu ikinci yarıda takılıyor, çünkü üçünün en hızlısı hiçbir şeyi kaldıramıyor.

Üçü de işini görüyor. Üçü de aynı zamanda birer anlık görüntü ve yazının son bölümü bunu ele alıyor, çünkü bir yıl içinde en çok zamanı bu götürüyor.

Kısa cevap#

WooCommerce’te kategoriler üç şekilde toplu atanır: Toplu Düzenle (yalnızca ekler, birkaç yüz ürüne kadar), CSV dışa ve içe aktarma turu (daha büyük kümeler ve kaldırma işlemleri) ve WP-CLI (betiklenebilir). Üçü de yeniden yapılması gereken birer anlık görüntü.

  • Toplu Düzenle yalnızca ekleme yapar. Ürünler → Tüm Ürünler altındaki kategori kutuları bir “şunları ekle” listesidir; bir kutunun işaretini kaldırmak hiçbir şeyi silmez. Alttaki WordPress fonksiyonu terimleri değiştirmek yerine birleştirir.
  • Uncategorized temizlenmez. WooCommerce her ürünün en az bir kategori taşımasını şart koşar; bu yüzden önce gerçek bir kategori atayın, Varsayılan yap satır eylemiyle varsayılan kategoriyi değiştirin ya da mevcut değerleri gösteren ve kaldırabilen Hızlı Düzenle’yi kullanın.
  • Kaldırma işleri için CSV turu. Dışa aktarın, Categories sütununu hiyerarşi için > kullanarak ve tam yollar yazarak düzenleyin, sonra Mevcut ürünleri güncelle kutusu işaretliyken yeniden içe aktarın. Çıplak adlar yalnızca en üst düzeyde çözümlenir ve içe aktarıcı bulamadığı her şeyi sessizce oluşturarak yinelenen terimler üretir. Sütunun kümenin tamamını değiştirdiğini, ama boş hücrelerin uygulanmak yerine yok sayıldığını unutmayın.
  • Kabuk erişiminiz varsa WP-CLI. wp post term add, set ve remove komutları ekleme ile değiştirme arasında açık bir denetim verir ve her katalog boyutuna ölçeklenir; ancak remove, varsayılan kategori güvencesini atlar ve ürünleri hiç kategorisiz bırakabilir.
  • Liste değil, kural saklayın. Her toplu atama, ürünler, fiyatlar ve stok değiştikçe eskiyen bir anlık görüntüdür. En kötüsü de indirim kategorileridir, çünkü çift yönlü çalışırlar ve kaldırma adımı unutulur. Bu yüzden fiyata, stoka ya da niteliklere bağlı üyelik, kendini yeniden değerlendiren kurallara aittir.

WooCommerce’te ürünlere toplu kategori atamanın üç yolu#

YöntemNe için uygunKategori kaldırabilir mi?
Toplu DüzenleBirkaç yüz ürüne kadar, tek bir kategori eklemeHayır
Hızlı DüzenleTek seferde tek ürün, hata düzeltmeEvet
CSV dışa ve içe aktarmaBinlerce ürün, yeniden yapılandırma, kaldırmaEvet, bir çekinceyle
WP-CLIHer boyut, tekrarlanabilir, betiklenebilirEvet

Ürün listesinde Toplu Düzenle ve Hızlı Düzenle#

Ürünler → Tüm Ürünler ekranına gidin ve listeyi filtreleyin. Tablonun üstündeki kategori, ürün tipi ve stok durumu açılır menüleri birlikte çalışır, arama kutusu da onların yanında devrededir. Başlıktaki onay kutusunu işaretleyin, Toplu işlemler menüsünden Düzenle seçin, Uygula düğmesine basın. Açılan panelde bir Ürün kategorileri listesi var. Bir kategoriyi işaretleyip Güncelle düğmesine basın; seçili her ürün o kategoriye girer.

Başlıktaki onay kutusu, filtrenizin eşleştirdiği her şeyi değil, yalnızca o anki sayfayı seçer. Başlamadan önce Ekran Seçenekleri altından sayfa başına ürün sayısını yükseltin, yoksa aynı işi on yedi kez yaparsınız.

Toplu Düzenle yalnızca ekleme yapar#

Onay kutuları boş başlar ve boş kalır; seçili her ürün zaten o kategorideyken bile. Durum göstermiyorlar. Bunlar bir “şunları ekle” listesi ve WordPress çekirdeğindeki bulk_edit_posts() bu konuda gayet açık — değiştirmiyor, birleştiriyor:

$post_data['tax_input'][ $tax_name ] = array_merge( $current_terms, $new_terms );

İşaretleme ve işaret kaldırmanın hiçbir bileşimi bir kategoriyi üründen almaz: bir kutunun işaretini kaldırmak, o kutuya hiç dokunmamaktan ayırt edilemez. Kaldırma için Hızlı Düzenle, CSV ya da WP-CLI gerekir.

Uncategorized neden gitmiyor#

Kimsenin temizleyemediği, 2,000 ürünlük Uncategorized kategorisini üreten şey işte budur. Üst üste binen iki mekanizma var.

Birincisi yukarıdaki birleştirme. O 2,000 ürüne düzgün bir kategoriyi toplu atamak yeni terimi ekler, Uncategorized’ı ise olduğu yerde bırakır. İkincisi WooCommerce’in kendisi: her ürünün en az bir kategori taşıması zorunludur ve bunu WC_Post_Data::force_default_term() dayatır; add_action( 'set_object_terms', array( __CLASS__, 'force_default_term' ), 10, 5 ) ile kaydedilmiştir. Kısaltılmış hâliyle şunu yapar:

public static function force_default_term( $object_id, $terms, $tt_ids, $taxonomy, $append ) {
	if ( ! $append && 'product_cat' === $taxonomy && empty( $tt_ids ) && 'product' === get_post_type( $object_id ) ) {
		$default_term = absint( get_option( 'default_product_cat', 0 ) );

		if ( $default_term ) {
			wp_set_post_terms( $object_id, array( $default_term ), 'product_cat', true );
		}
	}
}

Bir ürünü normal kayıt yolundan geçirerek sıfır kategoriye indirin, varsayılan hemen geri gelir. Bu varsayılan default_product_cat seçeneğinde durur, temiz bir kurulumda Uncategorized adlı terimdir ve yönetim panelinin onu silmenize izin vermemesinin sebebi de budur. Bundan üç pratik sonuç çıkar.

  • Hızlı Düzenle kategori kaldırır. Satır içi düzenleyici “Değişiklik yok” yerine mevcut değerleri gösterir; listesi önceden işaretli gelir ve kümenin tamamını gönderir. Başka bir kategori işaretli kaldığı sürece Uncategorized’ın işaretini kaldırmak orada işe yarar. Ama tek seferde tek ürün: yirmi ürün için uygun, iki bin ürün için işe yaramaz.
  • Varsayılanı taşıyabilirsiniz. Ürünler → Kategoriler ekranında bir kategorinin üzerine gelin ve Varsayılan yap satır eylemini kullanın. Eski Uncategorized böylece silebileceğiniz sıradan bir kategoriye dönüşür; bir terimi silmek ise onu tüm ürünlerden tek seferde kaldırır. Devraldığınız bir karmaşa için en hızlı çözüm budur, yeter ki ürünlerin önce gidecek başka bir yeri olsun.
  • Sökmeden önce atayın. Her toplu kaldırma, her ürünü gerçek bir kategoriyle bırakmak zorundadır; yoksa ürünü yalnızca varsayılanın içinden bir kez daha geçirmiş olursunuz.

Ürünleri oradan oraya taşırken bilmeniz gereken ilgili bir nokta: onları bir alt kategoriye koymak, üst kategorinin arşiv sayfasında görünmelerini sağlamaz. Bu ayrı bir WooCommerce davranışıdır ve ürün göstermeyen bir üst kategori konusunun kendi açıklaması var.

CSV dışa ve içe aktarma turu#

Birkaç yüz ürünün üstündeki her iş için ve kaldırma içeren her iş için dürüst araç budur. WooCommerce’in içinde hazır gelir; ayrı bir eklenti gerekmez.

Ürünler → Tüm Ürünler ekranındaki Dışa Aktar düğmesiyle dışa aktarın ve ihtiyacınız olan sütunlar, ürün tipleri ve kategorilerle sınırlayın. Dosyayı düzenleyin, sonra aynı ekrandaki İçe Aktar düğmesini kullanın ve — insanların kaçırdığı adım tam da bu — Mevcut ürünleri güncelle kutusunu işaretleyin. İşaretlemezseniz, elinizde zaten olan bir kayıtla eşleşen her satır uygulanmak yerine reddedilir: ekran “Bu SKU’ya sahip bir ürün zaten var” atlamalarıyla dolar ve hiçbir şey değişmez. İçe aktarıcı önce ID ile eşleştirir, bulamazsa SKU’ya döner.

Categories sütununun biçimi#

Sütunun adı Categories ve ürünün category_ids alanına eşlenir. Birden fazla kategori virgülle ayrılır, hiyerarşiyi ise > ifade eder:

Categories
"Clothing > Shirts, Sale"
"Clothing > Shirts > Oxford, Clothing > Formal"
"Kitchen > Knives, Blocks & Steels"

Bir kategori adı virgül içeriyorsa, üçüncü satırdaki gibi ters bölü ile kaçırın. Alanı tırnak içine almak e-tablonuzu memnun eder, ama içe aktarıcı yine de içindeki her kaçırılmamış virgülde bölmeye devam eder.

Yaygın biçimde dolaştığı için bir düzeltme: dikey çizgiyle ayrılmış bir tax:product_cat sütunu, WooCommerce ile birlikte gelen içe aktarıcının biçimi değildir; onun şemasında böyle bir sütun yok. Bu alışkanlık eski içe aktarma eklentilerine ve üçüncü taraf içe aktarıcılara ait. Elinizdeki rehber dikey çizgi kullanıyorsa, 5,000 satır üzerinde çalıştırmadan önce hangi içe aktarıcı için yazıldığını kontrol edin.

İçe aktarıcı her adı nasıl çözümler ve yinelenen terim tuzağı#

WC_Product_CSV_Importer::parse_categories_field() fonksiyonunun iç döngüsü, büyük bir içe aktarmadan aldığınız her tuhaf sonucu açıklar:

$_terms = array_map( 'trim', explode( '>', $row_term ) );
$total  = count( $_terms );

foreach ( $_terms as $index => $_term ) {
	if ( ! current_user_can( 'manage_product_terms' ) ) {
		break;
	}

	$term = wp_insert_term( $_term, 'product_cat', array( 'parent' => intval( $parent ) ) );

	if ( is_wp_error( $term ) ) {
		if ( $term->get_error_code() === 'term_exists' ) {
			$term_id = $term->get_error_data();
		} else {
			break;
		}
	} else {
		$term_id = $term['term_id'];
	}

	if ( ( 1 + $index ) === $total ) {
		$categories[] = $term_id;
	} else {
		$parent = $term_id;
	}
}

Bundan iki sonuç çıkar. Zaten var olmayan her şey sessizce oluşturulur — “bilinmeyen kategori” uyarısı diye bir şey yok, yani tek bir hücredeki yazım hatası yeni bir kategori doğurur. Bir de içe aktarmayı yapan kullanıcının manage_product_terms yetkisi olmalı; yoksa döngü kırılır ve hiçbir atama yapılmaz.

Tuzak parent argümanından doğar. Her parça, aynı üst terimi paylaşan terimler arasında çözümlenir; dolayısıyla içinde > geçmeyen çıplak bir ad yalnızca en üst düzeyde aranır. Kataloğunuzda Men > T-Shirts varsa ve bir tedarikçi beslemesi düpedüz T-Shirts yazıyorsa, içe aktarıcı var olan alt terimi bulamaz — en üst düzeyde ikinci bir T-Shirts oluşturur ve ürünleriniz adları aynı, URL’leri farklı iki kategoriye bölünür.

Slug’lar da çakışır: Men > T-Shirts ile Women > T-Shirts haklı olarak birbirinden ayrıdır, ama t-shirts slug’ına yalnızca biri sahip olabilir; ikincisine üst terimin slug’ı ya da bir sayı eklenir. İki alışkanlık bunun tamamını önler: CSV’ye tam yolu yazın, asla yalnızca yaprak adını yazmayın ve her büyük içe aktarmadan sonra Ürünler → Kategoriler ekranını birbirine yakın adlar için tarayın. Yeniden yapılandırma canlı URL’leri gerçekten değiştiriyorsa, yönlendirmeler ayrı bir iştir ve bir yönlendirme eklentisine ya da sunucu yapılandırmanıza kalır; sıralamaları kaybetmeden kategori yapısını değiştirme yazısı işleri hangi sırayla yapacağınızı anlatıyor.

Kaldırma işlerindeki çekince#

Categories sütunu, ürünün kategori kümesine eklemek yerine onu değiştirir; Uncategorized’ı toplu temizlemek için istediğiniz de tam olarak budur: dışa aktarın, sütundaki Uncategorized ifadesini silin, Mevcut ürünleri güncelle kutusu işaretliyken yeniden içe aktarın.

Çekince şu: boş bir hücre, “hiçbir şeyle değiştir” demek değildir. İçe aktarıcı boş değerleri uygulamak yerine yok sayar — bu kasıtlıdır, kısmi bir CSV dışarıda bıraktığınız sütunları silmesin diye — yani bu tur bir alanı boşaltamaz. Tek kategorisi Uncategorized olan bir ürün değişmeden geri döner, çünkü kelimeyi sildiğinizde hücre boş kalır. Onlar için tek toplu cevap Varsayılan yap ve ardından silmektir.

Kabuk erişimi olanlar için WP-CLI#

Bunun için WooCommerce CLI gerekmez. Ürün kategorileri sıradan bir taksonomidir, dolayısıyla çekirdek WP-CLI onları halleder; üstelik yönetim panelinin aksine bu komutlar ekleme ile değiştirme konusunda açıktır. --by=id geçmediğiniz sürece terimler slug ile eşleştirilir:

# Add a category, keeping the existing ones
wp post term add 1234 product_cat sale

# Replace the whole set
wp post term set 1234 product_cat shirts sale

# Remove one
wp post term remove 1234 product_cat uncategorized

Toplu sürüm için wp post list ile birleştirin. Aşağıdaki komut, fiyatı 50’nin altındaki her yayımlanmış ürünü Under 50 kategorisine ekler:

wp post list --post_type=product --post_status=publish --format=ids 
  --meta_key=_price --meta_value=50 --meta_compare='<' --meta_type=NUMERIC 
  | tr ' ' 'n' 
  | xargs -n1 -I{} wp post term add {} product_cat under-50

Bunu canlı bir kataloğa yöneltmeden önce iki uyarı.

  • Varyasyonlu ürünler fazla eşleşir. WooCommerce, varyasyonlu bir üst üründe tek bir _price tutmaz. sync_price() fonksiyonu üst ürünün _price değerini siler ve görünür her farklı varyasyon fiyatı için birer kez yeniden ekler; birden fazla değere göre sıralama ve filtrelemeye izin verebilmek için başka çaresi olmadığını da not düşer. Bir meta sorgusu, satırlardan herhangi biri eşleştiğinde eşleşir; yani yukarıdaki sorgu “tamamen 50’nin altında” değil, “50’nin altında bir varyasyonu var” demektir.
  • Kaldırmanın güvenlik ağı yok. wp post term remove, wp_remove_object_terms() fonksiyonunu çağırır; o da set_object_terms kancasını tetiklemediği için force_default_term hiçbir zaman devreye girmez. Ürünü sıfır kategoriyle bırakır. Bir şeyi sökmeden önce yerine geçecek bir kategori olduğunu doğrulayın.

WooCommerce CLI de iş görür. 3.0 sürümünden beri hangi kullanıcı olarak çalışacağını belirtmenizi ister ve categories parametresi, kümeye eklemek yerine kümenin tamamını değiştiren bir nesne dizisi alır:

wp wc product update 1234 --categories='[{"id":19}]' --user=1

Kimsenin hesabını yapmadığı kısım: toplu atamanın bir yarılanma ömrü vardır#

Bu, üç yöntem için de geçerli ve hiçbirine yönelik bir eleştiri değil. Her biri “şu anda hangi ürünler bu kategoriye ait” sorusunu yanıtlar, cevabı yazar ve onu güncel tutmaz.

OlayNe bayatlarTipik sıklık
Yeni ürün eklenirAit oldukları her kategoride eksik kalırlarSürekli
İndirim fiyatı verilir ya da sona ererİndirim kategorisi tam fiyatlı ürünler tutar ya da indirimlileri kaçırırHer kampanyada
Stok tükenir ya da yenilenirStokta ve tasfiye gruplamaları yanlışa düşerGünlük
Tedarikçi beslemesi nitelikleri güncellerNiteliğe dayalı gruplamalar kayarHaftalık ya da aylık
Ürün yalnızca eskirYeni ürünler kategorisi dolar ve hiç boşalmazSürekli

Rakama dökelim. Ayda 100 ürün ekleyen bir mağaza bu işi her ay, sonsuza kadar yapar. Ürün başına düşünülmüş tek bir karar, hızlı verilse bile, yalnızca yeni ürünler için ayda birkaç saat eder — hâlihazırda var olan hiçbir şeye dokunmadan yılda yaklaşık 24 saat.

İndirim dönemleri daha kötüdür, çünkü çift yönlüdür. İlk gün iki yüz ürün indirim kategorisine girer ve kampanya bittiğinde iki yüz ürünün oradan çıkması gerekir. Unutulan yarı hep ikincisidir; hâlâ tam fiyatlı ürünleri listeleyen bir indirim kategorisi de kozmetik bir sorun değil, bir destek talebidir. Kendi kendini boşaltan bir indirim kategorisi farklı bir tasarımdır ve aynı asimetri süresi dolan bir yeni ürünler kategorisi için de geçerlidir: eklemek kolaydır ve herkes hatırlar, kaldırmak görünmezdir ve kimse yapmaz.

Toplu atama, tek seferlik bir iş için doğru araçtır — bir taşıma, bir yeniden yapılandırma, bir temizlik — ve gelecek ay da doğru olması gereken hiçbir şey için doğru araç değildir.

Buna son vermek: liste değil, kural saklayın#

İlke olarak çözüm, bir ürün listesi saklamayı bırakıp bir tanım saklamaya başlamak, sonra da bu tanımı zamanlanmış biçimde yeniden çalıştırmaktır. Bunu kendiniz de kurabilirsiniz. İşte bir indirim kategorisi için, WooCommerce’in kendi indirim yardımcısını kullanan çalışan bir sürüm:

add_action( 'init', function () {
	if ( ! wp_next_scheduled( 'my_refresh_sale_cat' ) ) {
		wp_schedule_event( time(), 'daily', 'my_refresh_sale_cat' );
	}
} );

add_action( 'my_refresh_sale_cat', function () {
	$term_id = 42; // The "Sale" product_cat term ID.

	$should_be = array_map( 'intval', wc_get_product_ids_on_sale() );
	$currently = array_map( 'intval', get_objects_in_term( $term_id, 'product_cat' ) );

	foreach ( array_diff( $should_be, $currently ) as $id ) {
		wp_set_object_terms( $id, array( $term_id ), 'product_cat', true );
	}

	foreach ( array_diff( $currently, $should_be ) as $id ) {
		wp_remove_object_terms( $id, array( $term_id ), 'product_cat' );
	}
} );

Bu gerçekten çalışır ve tek bir basit kategori için ihtiyacınızın tamamı olabilir. Bedelini de bilin. Günlük çalışır, dolayısıyla bir fiyat değişikliği 24 saate kadar bekler. Kendi oluşturduğu bir üyeliği sizin elle eklediğinizden ayırt edemez, yani bir ürün sorumlusunun atadığı her şey bir sonraki çalıştırmada kaldırılır. wp_remove_object_terms() fonksiyonu set_object_terms kancasını tetiklemez, yani tek kategorisi indirim kategorisi olan bir ürün hiçbir kategorisi kalmadan biter. Üstelik her ek koşul — kâr marjı %40’ın üzerinde, markası bir listede, stokta — çalışır durumda tutulacak fazladan koddur. Bu desenin nerede çöktüğü kurallara göre bir kategoriye ürün ekleme yazısında ele alınıyor.

Bunun bakımını üstlenmek istemiyorsanız#

Eklentimiz tam da bu sorunu çözmek için var, o yüzden bu bölümü işin tarafı olan birinin konuşması olarak okuyun. CSV turu ya da yukarıdaki kod parçası mağazanıza uyuyorsa onları kullanın; size hiçbir bedeli yok.

Smart Categories for WooCommerce, o kod parçasının genelleştirilmiş hâli ve wordpress.org üzerinde ücretsiz. Bir kural kümesi gerçek bir WooCommerce ürün kategorisine bağlanır — paralel bir taksonomiye değil, var olan product_cat terimine — ve eşleşen ürünlere o gerçek terim atanır; böylece yönetim listeleri, terim sayıları, breadcrumb’lar, menüler ve diğer eklentiler normal davranmayı sürdürür.

  • Liste yerine kural. Sınırsız iç içe grup, her biri ALL OF ya da ANY OF ve istediğiniz grup olumsuzlanabilir. Ücretsiz sürümde otuz beş eşleşme alanı var; aralarında aktif fiyat, indirimli fiyat, indirim yüzdesi, kâr marjı, stok durumu, stok miktarı, toplam satış sayısı, ortalama puan, marka, herhangi bir global nitelik, ağırlık ve boyutlar, bir de meta anahtarını kendinizin verdiği özel bir alan bulunuyor.
  • Kesinleştirmeden önce önizleme. Eşleşen ürünler ve sayıları, kuralı kaydettikten sonra değil, siz kuralı kurarken gösterilir.
  • Kendi kendine yeniden değerlendirilir. Ürün oluşturma ve güncellemede, fiyat ya da stok değişikliklerinde, ayrıca zamanlanmış indirimlerin başlayıp bitişini ve WooCommerce dışında yapılan değişiklikleri yakalayan günlük bir taramada.
  • Elle yapılan atamalar korunur. Kendi oluşturduğu üyelikleri kaydeder ve yalnızca onları kaldırır — yukarıdaki kod parçasının kusuru buydu.
  • Arka planda gruplar hâlinde. Eşleştirme, sayfa yüklenirken değil, Action Scheduler üzerinden gruplar hâlinde çalışır.
İç içe AND, OR ve NOT grupları ile eşleşen WooCommerce ürünlerinin anlık sayısını içeren kural oluşturucu.
Gruplar istediğiniz derinlikte iç içe geçer ve siz kuralı kurarken önizleme eşleşen ürünleri sayar.

Kural kümesi zaten sahip olduğunuz bir kategoriye bağlandığı için buradan sonrası iki adım: tek seferlik toplu atamayı kataloğunuza hangisi uyuyorsa o yöntemle yapın, sonra sonucun doğru kalması için bir kural bağlayın.

Mevcut bir WooCommerce ürün kategorisine kural ekleme
Kurallar hâlihazırda sahip olduğunuz bir kategoriye eklenebilir; elle atadığınız ürünler yerinde kalır.

Net olalım, yapmadıkları: SEO başlıkları ya da meta açıklamaları yazmaz, yeniden yapılandırdığınızda yönlendirme oluşturmaz, hâlihazırdaki kategorilerinizi birleştirmez veya silmez, ürün verisi içe aktarmaz ya da düzenlemez. Yaptığı iş, kategori ve etiket üyeliğini atamaktır. Gerisi SEO eklentinize, bir yönlendirme eklentisine ve içe aktarıcınıza aittir.

Seçim#

  • Birkaç yüz ürünün altında, tek kategori ekleme. Toplu Düzenle. Yalnızca ekler ve başlıktaki onay kutusu yalnızca o anki sayfayı kapsar.
  • Kaldırma işleri ya da daha büyük her iş. CSV turu; Mevcut ürünleri güncelle işaretli ve her hücrede tam kategori yolu yazılı olsun.
  • Kabuk erişimi ve tekrarlayacağınız bir iş. WP-CLI — ve betiği saklayın, çünkü onu yeniden çalıştıracaksınız.
  • Fiyata, stoka, satışa ya da niteliklere bağlı üyelik. Toplu atama hiç yapmayın. Kendi zamanlanmış kodunuzda ya da bir eklentiyle bir kural yazın ve kategori kendi bakımını kendisi yapsın.

Devraldığınız büyük bir Uncategorized varsa: Varsayılan yap ile varsayılan kategoriyi taşıyın, ürünlere gerçek bir kategori verin, sonra eski terimi silin. Bu, tek bir işlemle her yerde temizler — Toplu Düzenle’nin sizin için asla yapmayacağı tek şey de budur.

Okumaya devam

İlgili yazılar