Sintassi corretta per gli inserimenti nel database da un plugin WordPress?

14 dic 2010, 18:04:10
Visualizzazioni: 390
Voti: 0

Sto testando uno script per creare un inserimento nel database. È questa la sintassi corretta per l'inserimento o devo ottenere un riferimento a global $wpdb e usarlo?

<?php  
/*  
Plugin Name: Test Inserimento Database  
*/  

function test_db_insert()  
{  
INSERT wp_terms(term_id, 'name', slug) VALUES (1, 'test', 'test');  
INSERT wp_term_taxonomy(term_taxonomy_id, term_id, taxonomy, parent) VALUES (1, 1, 'category', 0);  
INSERT wp_term_relationships(object_id, term_taxonomy_id, term_order) VALUES (1, 1, 0);  
}  

register_activation_hook(__FILE__, 'test_db_insert');  
0
Tutte le risposte alla domanda 2
0

Questo sembra SQL grezzo che non avrà alcun senso per PHP.

Puoi eseguire queste query come query grezze usando $wpdb->query() ma è più appropriato usare il metodo $wpdb->insert().

Vedi Classe wpdb > Inserire righe nel Codex.

14 dic 2010 18:25:25
3

Non dovresti aver bisogno di usare SQL per questo. Sostituiscilo con:

wp_set_object_terms(1, 'test', 'taxonomy_name');

...dove taxonomy_name è il nome della tassonomia.

14 dic 2010 19:15:39
Commenti

Sembra essere il più semplice, ma non sono sicuro che faccia esattamente quello che voglio. Posso definire il term_id del nuovo termine (supponendo che non esista già)?

Scott B Scott B
14 dic 2010 22:19:06

No, ma - a rischio di sembrare superficiale! - perché vorresti farlo? Sicuramente l'unica cosa che conta è che l'ID sia unico, dato che non viene mai visto da nessuno?

Rob Miller Rob Miller
15 dic 2010 12:13:47

Sto utilizzando cat_id = 1 per nascondere la categoria "non categorizzato" e tutti i suoi figli, dato che li uso per uno scopo specifico.

Scott B Scott B
26 dic 2010 19:17:38