私はクリエイティブであり、私のプラグインでロードされたファイルの1つにこれを入れました。このようにテーブル名を格納することには意味がありますか?
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'
)という接頭辞が付きます。
WordPressのDB_
定数プレフィックスは、一般的にDB_NAME
、DB_Host
、DB_USER
およびDB_PASS
のために予約されていると見なされます。私の意見では、プラグイン固有の定数にこれを使用するのは賢明ではありません。他のプラグインが定数を使おうとしている場合、それがもたらす可能性がある唯一の影響ですが、それは純粋に理論的なものです。
これを行う正しい方法は、グローバル$wpdb
に格納されている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_
です( 接頭辞の詳細 )。