web-dev-qa-db-ja.com

カスタムテーブルの名前をどこに保存しますか。

私は私のカスタムテーブルのプロパティで$wpdbオブジェクトを拡張します。

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';
}

これは良い習慣ですか?プロパティの先頭にプラグイン名が付いている限り、問題ないはずです。定数を定義してもうまくいくかもしれません。あなたは何を好みますか、そしてなぜですか?ありがとう。

1
Geert

限り...

  1. テーブルの前に$wpdb->prefix(または$wpdb->base_prefix)を付けます。
  2. あなたのテーブル名はどこかに公開されており、他のプラグイン、テーマ、そしてエンドユーザーが簡単に利用したり拡張したりすることができます。

テーブルを$wpdbのプロパティとして設定するか、定数を使用するのがいいでしょう。 $wpdbを使用することを選択した場合は、他のプラグイン(またはテーマなど)が設定したのと同じ方法でプロパティを上書きする可能性があることに注意してください。そのため、定数のようなものを使う方がもう少し「安全」です。

また、テーブルを追加する必要があるかどうか常に慎重に質問してください。

私は定数を使う傾向がありますが、termmetaテーブルを作成するようなことをしているのなら、$wpdbプロパティを使います。

2
chrisguitarguy