WP-CLI

WP-CLI Term İşlemleri

Yayın:
WP-CLI Post komutuna dair açıklamar ve örneklerin ardından meta yönetimiyle devam ediyorum. Yine temel örnek olarak tüm postlara aynı thumb görseli nasıl atayabileceğimiz sorusunu alarak ...
GÖRSEL
WP-CLI Post komutuna dair açıklamar ve örneklerin ardından meta yönetimiyle devam ediyorum. Yine temel örnek olarak tüm postlara aynı thumb görseli nasıl atayabileceğimiz sorusunu alarak ilerleyeceğim. İlgili yazı: WP-CLI post ve meta ile tüm postlara aynı görseli atamak. Vakit kaybetmeden term komutunun amacından, işlevinden ve alt komutlarından bahsetmeye geçebiliriz.

WP-CLI Term Komutu

wp term komutu komut satırı WordPress taksonomi birimlerini ve bu birimlere ait metaları yönetmeyi, yeni metalar ve birimler oluşturmayı ve var olanları görüntüleyip silebilmemizi mümkün kılar. Peki, taksonomi ve term ifadeleri tam olarak ne anlama gelmektedir?

Taksonomi (Taxonomy)

WordPress başlangıç dönemlerinde tag (etiket) ve category (kategoriler) tanımlamaları için template tags (template etiketleri) yapısını kullanmaktaydı. Özel taksonomiler (custom taxonomies) ile birlikte ayrıca yapılar oluşturulması mümkün hale geldi. Böylelikle custom posts (özelleştirilmiş sayfalar / sayfa şablonları) ve post tipleri (post types) için ayrı taksonomiler ve terimler de oluşturulması mümkün hale geldi. Taksonomi bu bağlamda en basit haliyle bir araya gelmiş şeyler şeklinde ifade edilebilir. Yazı etiketleri (post_tag), kategori (category), bağlantı kategorisi (link category) ve post formatları (post formats) ön tanımlı taksonomi yapılarıdır. Az önce de belirttiğim gibi özelleştirilmiş taksonomiler oluşturulabilir. Örneğin, bu sitedeki eğitimler ve projeler birer özelleştirilmiş taksonomidir. WooCommerce ürün kategorileri de yine özelleştirilmiş taksonomilerdendir. Taksonomi ile ilgili daha detaylı bilgi için Codex > Taxonomies sayfasını inceleyebilirsiniz.

Term

Bir araya gelmiş, yani taksonomiyi oluşturan şeylerin her biri ise term olara ifade edilir. Kategoriler içeriğindeki her bir kategori bir term‘dir. Her term ayrıca meta‘lara sahiptir ve bu metalar ayrıca yönetilebilir. wp term meta altında detaylıca bu işlemlere değineceğim. O halde, genel hatları ile alt komutlara bir göz atalım.
Alt KomutAçıklama
wp term createYeni bir term oluşturmamızı sağlar.
wp term deleteVar olan / belirtilen bir term’i silmemizi sağlar.
wp term generateBelirtilen sayıda ve yapıda term üretebilmemizi sağlar.
wp term getBelirtilen term’e dair detayları getirir.
wp term listBelirtilen ifadelere karşılık gelen term’leri listeler.
wp term metaBelirtilen term’e ait meta’larla ilgili işlemler yapmamızı sağlar. Alt komutlara sahiptir.
wp term recountHer term için atanan post sayısını yeniden hesaplar.
wp term updateBelirtilen term’e dair detayları güncellememizi sağlar.
Temel açıklamaların ardından alt komutların kullanımlarına dair örneklere geçebiliriz. İlk örneğimiz Countries adı ve Discover the World: Adventure Holidays & Tailor Made Trips açıklamasına sahip bir kategori oluşturmak olsun;
wp term create category Countries --description="Discover the World: Adventure Holidays & Tailor Made Trips"
Komutu uyguladığımızda eğer ilgili kategori daha önceden oluşturulmamışsa oluşturulan kategorinin ID değerini de içeren Success: Created category 123. mesajı dönecektir. Aksi durumda belirtilen kategorinin daha önce oluşturulduğu mesajı döner. Yeni kategorinin ID değeri belli olduğuna göre (örnek; 123) bu ID değerine sahip kategorinin detaylarını isteyelim.
wp term get category 123 --format=json --fields=term_id,name,slug,count
Komutun uygulanmasının ardından term_id, name, slug ve içerdiği post sayısı json formatında iletilecektir ve aşağı yukarı şuna benzer.
{"term_id":123,"name":"Countries","slug":"countries","count":0}
Şimdi de ilgili ID’ye sahip kategorinin adını Travel Destinations olarak güncelleyelim ve URL olarak bize iletilmesini isteyelim.
wp term update category 123 --name="Travel Destinations"
wp term list category --include=123 --field=url
Oluşturduğumuz bu kategoriyi silelim.
wp term delete category countries --by=slug
Oluşturulmuş tüm kategorileri term_id‘leriyle listelemek istersek list komutundan faydalanabiliriz.
wp term list category --field=term_id
Örnek olarak tüm term_id değerlerini aldığımız post_tag parent’ları silelim. Elbette bu işlemi örnek olarak iletiyorum, kodu uyguladığınızda ilgili parent’lar silinecektir, dikkatli olmanızda fayda var.
wp term list post_tag --field=parent | xargs wp term delete post_tag
2 adet kategori üretelim ve term_id‘lerinin dönmesini isteyelim.
wp term generate category --count=2 --format=ids
Dönen term_id‘lerin 123, 124 olduğunu varsayalım ve delete ile silelim.
wp term delete category 123 124
Yazının başında da belirttiğim gibi wp term meta kendi alt komutlarına sahip bir komut. Yine bir tablo ile özetleyecek olursak;
Alt KomutAçıklama
wp term meta addBir term’e meta eklememizi sağlar.
wp term meta createYeni bir term meta oluşturmamızı sağlar.
wp term meta deleteVar olan / belirtilen bir term meta’yı silmemizi sağlar.
wp term meta getBelirtilen term meta detaylarını getirir.
wp term meta listBelirtilen term’e ait meta’ları listeler.
wp term meta patchBelirtilen term meta içeriğindeki iç içe yapıların değerleri getirir.
wp term meta pluckBelirtilen term meta içeriğindeki iç içe yapılara ekleme yapmamızı, ilgili değerleri silmemizi ve güncellememizi sağlar.
wp term meta updateBelirtilen term meta değerlerini güncellememizi sağlar.
Yukarıdaki yapılar wp post meta ile aynı işlevlere sahipler. İlgili örnek işlemleri benzer şekilde term için de oluşturmak mümkün. Örnek birkaç işleme değinelim. Bir kategori ve etikete görsel atayabilmekteyiz. Görselin yanı sıra All in One SEO gibi bir eklenti kullanıyorsanız ayrıca alanların bu gibi eklentiler tarafından da oluşturulduğunu görmüşsünüzdür. O halde, ilk örneğimiz bu vesileyle bir kategorinin metalarını listelemek olsun.
wp term meta list 123
İlgili term’e 1.png değerine (meta_value) sahip category_icon meta_key‘ini ekleyelim.
wp term meta add 1 category_icon 1.png
Son olarak patch ve pluck kullanımlarına bakalım. 123 term_id meta listesine baktığımızda aioseop_opengraph_settings_category article meta_key değerini görmekteyiz. Bunu website olarak güncellemek istiyorum. pluck tam olarak bu işlemi yapmamı sağlamakta. Öncelikle aioseop_opengraph_settings_category değerini alalım.
wp term meta pluck 123 _aioseop_opengraph_settings aioseop_opengraph_settings_category
Yukarıdaki komutu uyguladığımda article dönüşünü alırım. Şimdi bu alanı patch komutuyla website olarak güncelleyebilirim. Elbette patch ile güncelleme dışında var olan bir key-path‘i silebilir ya da yeni bir key-path atayabilirim.
wp meta meta patch update 123 _aioseop_opengraph_settings aioseop_opengraph_settings_category website
Evet, wp term komutlar ve bu komutların alt komutlarına dair açıklama ve örnekleri tamamlamış bulunmaktayız. WP-CLI kullanımına dair özellikle öne çıktığını düşündüğüm birkaç işlem daha kaldı. Ardından WP-CLI işlemlerini farklı fikirler bağlamında değerlendireceğiz.
Ceyhun Enki Aksan

Kullanıcı Davranışları Analizi (User Behavior Analysis) ve Kullanıcı Deneyim Tasarımı (UX Design) üzerine çalışmalar yürütmekte, bu süreçte edindiğim teknik ve pratik bilgileri fayda sağlamak motivasyonuyla (afaik / as far as i know) paylaşmaktayım.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.