我很有创意,把它放在插件加载的一个文件中。以这种方式存储表名是否有影响?
global $wpdb;
if(!defined(\'DB_ARTISTS\'))
define(\'DB_ARTISTS\', $wpdb->prefix . "artists");
if(!defined(\'DB_RELEASES\'))
define(\'DB_RELEASES\', $wpdb->prefix . "releases");
编辑:我原本没有包括所有我想要的信息。表格和变量的前缀为ABC(
ABC_DB_ARTISTS &;
$wpdb->prefix . \'abc_artists\' ).
最合适的回答,由SO网友:engelen 整理而成
这个DB_ WordPress中的常量前缀通常被认为是为DB_NAME, DB_HOST, DB_USER 和DB_PASS. 在我看来,将其用于插件特定常量不是一个好主意。它可能带来的唯一含义是,如果其他插件尝试使用这些常量,但这纯粹是理论上的。
正确的方法是将表名存储在全局$wpdb.
global $wpdb;
if ( ! isset( $wpdb->myplugin_artists ) && ! isset( $wpdb->myplugin_releases ) ) {
$wpdb->myplugin_artists = $wpdb->prefix . \'myplugin_artists\';
$wpdb->myplugin_releases = $wpdb->prefix . \'myplugin_releases\';
}
使用正确的前缀很重要(在这种情况下
myplugin_ 对于您的插件)。例如,对于高级自定义字段,这通常是
acf_ (
more on prefixing).