Folgendes berücksichtigen:
Ihr Plugin wird in einem WordPress-Netzwerk verwendet, das für jede Site unterschiedliche Tabellenpräfixe verwendet. Ihr Plugin kann gleichzeitig auf 836 verschiedenen Sites in derselben Datenbank ausgeführt werden. wp_385677_liveshoutbox
ist ein durchaus vernünftiger Tabellenname.
Ihr Plugin wird von einem Benutzer installiert, der ein gewisses Sicherheitskonzept hat und das Tabellenpräfix geändert hat, um Bots zu blockieren, die versuchen, select * from wp_users
in das System zu injizieren . Selbst wenn sie eine neue Sicherheitslücke finden, wird dies nicht funktionieren.
Verknüpfungen wie das Festcodieren von Tabellennamen sind eine gute Möglichkeit, ein Produkt zum Laufen zu bringen, aber keine gute Möglichkeit, es freizugeben. In kürzester Zeit wird das Plugin eine Menge "Funktioniert nicht" -Kommentare enthalten. Im schlimmsten Fall wird die Website eines anderen beschädigt.
Wenn ich eine komplexe Abfrage habe und mich nicht mit dem Schmerz des Schreibens auseinandersetzen möchte, 'select foo from ' . $wpdb->prefix . '_mytable left join ' . $wpdb->prefix . '_mytablemeta on ' . $wpdb->prefix . '.ID = ' . $wpdb->prefix . '.meta_id ....
können Sie Ersatz verwenden. Beispielsweise:
$query = 'select foo from %table% left join %meta% on %table%.ID = %meta%.meta_id ... ';
$change = array (
'%table%' => $wpdb->prefix . '_mytable',
'%meta%' => $wpdb->prefix . '_mytablemeta'
);
$sql = str_replace( array_keys( $change ), array_values( $change ), $query );
$results = $wpdb->get_results( $sql );
Wordpress ändert sich ständig. Was heute "funktioniert", funktioniert morgen möglicherweise nicht mehr. Deshalb gibt es API-Funktionen. Der Wordpress-Entwickler sicherstellen, dass das öffentliche API Verhalten konsistent ist (oder sie wird die Funktion an Wert verlieren). Wenn Sie mit internen Methodenaufrufen gestartet werden, da es ‚schneller auf diese Weise‘ wird es in der Regel kommen, wie sie zu beißen. Es gibt nur sehr wenige echte Verknüpfungen in der Software - sie verlagern einfach die erforderliche Arbeit von jetzt zu später und wie Ihre Kreditkarte "später" kostet in der Regel mehr.