WordPress: wp_set_object_terms kullanımı (nesneler ve sınıflandırmalar arasında ilişki oluşturun)
wp_set_object_terms( int $object_id, string|int|array $terimleri, sicim $ taksonomisi, bool $append = yanlış)
1. Parametreler
$object_id
Posta kimliği gibi nesne kimliği.
$ şartları
Asıl sorun burada yatıyor.
Veri türü string ise string sümüklü böcek olarak kullanılacaktır, sümüklüböceğe ait terim varsa nesne ile terim arasında bir ilişki oluşturulacaktır, yoksa sümüklüböceğe ait terim kullanılacaktır Önce yaratılacak, sonra nesne ve terim yaratılacak.
Veri türü tam sayı ise terimin ID'si olarak bu değer kullanılacak, bu ID'ye sahip terim mevcutsa bu terim ilişkilendirilecektir.
Eğer veri türü dizi ise ne denersem deneyeyim nesne ile terim arasında ilişki oluşturamıyorum. Yani diziler için her ilişkiyi oluşturmak için foreach döngüsü kullanıyorum.
$ taksonomisi
Taksonomi sümüklüböcek, dize.
$append
Yanlışsa orijinal nesne ile terim arasındaki ilişkinin üzerine yazılacak ve güncellenecektir. Doğruysa yeni bir ilişki yaratılır, yani nesne ile aynı taksonomi arasına yeni bir terim ilişkisi eklenir.
2. Kod
foreach ($custom_terms as $key => $value) { if (is_array($value)) { foreach ($value as $k => $v) { wp_set_object_terms($postid,(int)$v,$key,true); //Aynı taksonomi ($key) , Dizideki tüm terimler ve nesneler arasında ilişkiler oluşturmak için true değerini kullanın. } }else{ wp_set_object_terms($postid,(int)$value,$key); //Arayüzden iletilen verilerin tamamı string'dir. $value'nin tamsayı olmasını sağlamak için (int) kullanılır. } }
3. Dönüş
(dizi|WP_Error) Etkilenen terimlerin terim sınıflandırma kimlikleri veya WP_Error başarısızlık üzerine.
4. Özet
wp_set_object_terms parametreleri gibi birçok WordPress işlevinin parametreleri dizeleri, sayıları ve hatta dizileri kullanabilir. Ancak kendi deneyimlerime göre, prensip olarak, dijital kimlikleri kullanabiliyorsanız dijital kimlikleri kullanmaya çalışın ve diziler olmadan yapabiliyorsanız dizileri kullanmayın. Bu sayede çoğu zaman bazı sıkıntılar azalacaktır.