Wo füge ich den Namen einer neuen Tabelle in wpdb hinzu?

Ich habe manuell eine neue Tabelle in der wp-db database aufgestellt. Wo füge ich den Namen dieser Tabelle in der wpdb class oder anderswo hinzu?

Mir ist aufgefallen, dass WordPress Abfragen wie $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" ); verwendet: $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" ); wobei der tatsächliche Tabellenname nicht verwendet wird.

Wenn ich folgendes tun $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->friends" ); : $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->friends" ); es wird nicht funktionieren.

Ich habe auch versucht, den Namen wie var $friends; hinzuzufügen var $friends; innerhalb der wpdb class, aber das würde nicht funktionieren.

Solutions Collecting From Web of "Wo füge ich den Namen einer neuen Tabelle in wpdb hinzu?"

$wpdb->tables[] = 'friends'; ist der grundlegende Code, nach dem Sie suchen.

Bitte beachten Sie, dass Sie die Existenz der Tabelle in der Liste testen möchten, so dass Sie nicht mit 100 Kopien der Tabelle in dem Tabellenarray auflaufen, besonders wenn es eine Chance gibt, dass Ihr Code innerhalb einer Seitenladung wiederholt werden könnte .

AKTUALISIERT mit Beispiel:

 add_action( 'wp_loaded', 'add_table' ); function add_table() { global $wpdb; if ( ! in_array( 'friends', $wpdb->tables ) ) { $wpdb->tables[] = 'friends'; } } 

Eugene Manuilov Antwort ist eine gute Lösung. Wenn Sie jedoch die Syntax $wpdb->table_name , können Sie dies $wpdb->table_name

 add_action('after_setup_theme', 'add_table_name'); function add_table_name() { global $wpdb; $wpdb->friends = $wpdb->prefix . 'friends'; } 

wpdb deine wpdb class überhaupt nicht! Es ist eine schlechte Angewohnheit. Nächstes Mal, wenn WordPress seine Version aktualisiert, werden Sie alle Ihre Änderungen verlieren.

Anstatt die wpdb class zu wpdb , erstellen Sie eine Tabellenname-Variable (oder -Konstante) mit Ihrem Plugin und verwenden Sie sie, wenn Sie sie benötigen.

myplugin.php in Ihrer Datei myplugin.php Folgendes hinzu:

 global $wpdb; define( 'MYPLUGIN_TABLE_FRIENDS', $wpdb->prefix . 'friends' ); 

Und dann verwende es in deinen Abfragen so:

 $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM " . MYPLUGIN_TABLE_FRIENDS ); 

AKTUALISIERT:

OK. Fein. Aber nur weil ich neu bin, wie funktioniert WordPress und wo werden sie gespeichert?

Diese Tabellen werden gesetzt, wenn die $wpdb->set_prefix() -Methode aufgerufen wird. Schauen Sie sich diese Methode an und konzentrieren Sie sich auf 673-685 Zeilen .