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