- Custom DataBase Tables
- CDBT Version 2.x
- アクションフック一覧
- cdbt_after_inserted_data
cdbt_after_inserted_data
(CDBT 2.0.0)
cdbt_after_inserted_dataデータの登録処理後にフックします
Description
cdbt_after_inserted_data ( mixed $result [, string $table_name, array $insert_data ] )insert_data()メソッドでデータの登録処理後にフックします。このアクションフックを利用することで、特定テーブルへのデータ登録処理後に独自の処理を追加できます。例えば、主テーブルへのデータ登録後に外部キーで連携しているテーブルへもデータを登録するようなカスタマイズができるようになります。
Parameters
- result
- データ登録処理の結果を参照できます。自動採番型のプライマリーキー(サロゲート・キー)があるテーブルであれば、登録されたデータ行のプライマリーキーの数値となります。サロゲート・キーがないテーブルの場合はTRUEが、データ登録に失敗した場合はFALSEとなります。
- table_name
- データを登録したテーブル名を参照できます。
- insert_data
- 登録したデータの配列を参照できます。
History
| バージョン | 内容 |
|---|---|
| 2.0.0 | 新規追加 |
Example
例 データの登録後、ログインしているユーザーのIDを追記(追加更新)する。
function custom_action_after_insertion( $result, $table_name, $insert_data ) {
if ( "prefix_table" === $table_name && is_user_logged_in() ) {
$current_user = wp_get_current_user();
$_user_id = $current_user->ID;
if ( $result && is_int( $result ) ) {
global $cdbt;
$cdbt->update_data( $table_name, [ "userID" => (string) $_user_id ], [ "ID" => $result ] );
}
}
}
add_action( "cdbt_after_inserted_data", "custom_action_after_insertion", 10, 3 );
この例のように同じテーブルに対しての処理を追加する場合、SQLクエリが二度発行されてしまいコストが高くなります。バージョン2.0.5以降であれば、
cdbt_before_insert_dataフィルターが利用できるので、そちらを利用した方が効率的です。Hook Point
- insert_data()指定のテーブルにデータ(行)を挿入します
Reference
Related Methods
- insert_data()指定のテーブルにデータ(行)を挿入します
Related Hooks
- cdbt_before_insert_dataデータ登録する直前のデータをフィルターします