Adapun mengapa itu tidak berhasil:jangan setel parameter ketiga $wpdb->insert
untuk mengosongkan string. Ini memformat setiap bidang sesuai..
Apa yang dilakukannya sekarang setara dengan:
$wpdb->insert($table, array(
'object_id' => sprintf('', $num_object_id),
'term_taxonomy_id' => sprintf('', $num_taxo_id),
'term_order' => sprintf('', 0)
));
Jika Anda benar-benar ingin menetapkan parameter ketiga, Anda harus melakukan:
$wpdb->insert($table, array(
'object_id' => $num_object_id,
'term_taxonomy_id' => $num_taxo_id,
'term_order' => 0
), array('%d', '%d', '%d'));
Adapun kesalahan:tabel wp_term_relationships memiliki kunci utama unik (object_id, term_taxonomy_id). Ini berarti Anda tidak dapat memiliki dua baris dalam tabel yang memiliki object_id dan term_taxonomy_id yang sama.
Meskipun hal ini terjadi karena dengan menyetel parameter ketiga insert ke string kosong, Anda mencoba menyisipkan baris dengan object_id=0 dan term_taxonomy_id=0 berulang kali.