J'étends l'objet $wpdb
avec les propriétés de mes tables personnalisées.
function setup_wpdb()
{
global $wpdb;
// Create properties for custom tables
$wpdb->my_plugin_table1 = $wpdb->prefix.'my_plugin_table1';
$wpdb->my_plugin_table2 = $wpdb->prefix.'my_plugin_table2';
}
Est-ce une bonne pratique? Je suppose que tant que les propriétés sont préfixées avec le nom du plugin, ça devrait aller. Définir une constante peut aussi marcher. Que préférez-vous et pourquoi? Merci.
Aussi longtemps que...
$wpdb->prefix
(ou $wpdb->base_prefix
) pour préfixer la tableJe dirais que définir la table en tant que propriété sur $wpdb
ou utiliser une constante est acceptable. Si vous choisissez d'utiliser $wpdb
, sachez qu'un autre plugin (ou thème ou autre) peut simplement écraser votre propriété de la même manière que vous la définissez. Pour cette raison, il est un peu plus "sûr" d'utiliser quelque chose comme une constante.
En outre, demandez toujours avec soin si vous devez ou non ajouter un tableau.
J'ai tendance à utiliser des constantes, mais si je fais quelque chose comme créer une table termmeta
, j'utiliserais une propriété $wpdb
.