Sintaxa corectă pentru inserări în baza de date dintr-un plugin?

14 dec. 2010, 18:04:10
Vizualizări: 390
Voturi: 0

Testez un script pentru a crea o inserare în baza de date. Este aceasta sintaxa corectă pentru inserare sau trebuie să obțin o referință la global $wpdb și să folosesc aceasta?

<?php
/*
Nume Plugin: Test Inserare Bază de Date
*/

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
Toate răspunsurile la întrebare 2
0

Aceasta pare a fi SQL brut care nu va avea sens pentru PHP deloc.

Puteți rula aceste interogări ca interogări brute folosind $wpdb->query(), dar este mai corect să folosiți metoda $wpdb->insert().

Consultați Clasa wpdb > Inserare rânduri în Codex.

14 dec. 2010 18:25:25
3

Nu ar trebui să fie nevoie să folosești SQL deloc pentru asta. Înlocuiește-l cu:

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

...unde nume_taxonomie este numele taxonomiei.

14 dec. 2010 19:15:39
Comentarii

Pare a fi cea mai simplă soluție, dar nu sunt sigur că va face exact ceea ce vreau. Pot să definesc term_id-ul noului termen (presupunând că nu există deja)?

Scott B Scott B
14 dec. 2010 22:19:06

Nu, dar - cu riscul de a părea superficial! - de ce ai vrea asta? În fond, tot ce contează este că ID-ul este unic, deoarece nu este vizibil pentru nimeni?

Rob Miller Rob Miller
15 dec. 2010 12:13:47

Folosesc cat_id = 1 pentru a ascunde categoria "Necategorizat" și toate subcategoriile sale, deoarece le folosesc într-un scop specific.

Scott B Scott B
26 dec. 2010 19:17:38