- Custom DataBase Tables
- CDBT Version 2.x
- フィルターフック一覧
- cdbt_before_update_data
cdbt_before_update_data
(CDBT 2.0.5)
cdbt_before_update_data更新するデータをフィルターします
Description
array cdbt_before_update_data ( array $data [, string $table_name, array $data_field_format ] )update_data()メソッドで更新するデータをフィルターします。このフィルターを利用することで、データ更新処理を行う前にデータをカスタマイズすることができます。
Parameters
- data
- 更新するデータ。カラム名をキーとした連想配列です。
- table_name
- データを更新するテーブル名を参照できます。
- data_field_format
- 更新データの値のフィールド形式を配列として参照できます。
History
| バージョン | 内容 |
|---|---|
| 2.0.5 | 新規追加 |
Example
独自拡張した入力フィールドからの値を受け取ってデータの更新を行う。
<?php
function custom_filter_before_update_data( $data, $table_name, $data_field_format ) {
if ( 'wp_products' === $table_name && isset( $_POST['custom-database-tables']['ChangeQuantity'] ) ) {
if ( intval( $_POST['custom-database-tables']['ChangeQuantity'] ) !== 0 ) {
$data['Quantity'] += intval( $_POST['custom-database-tables']['ChangeQuantity'] );
}
}
return $data;
}
add_filter( "cdbt_before_update_data", "custom_filter_before_update_data", 10, 3 );
Notices
このフィルターで取り扱われるのは更新用のデータのみとなります。更新条件を変更する場合は
cdbt_before_update_whereフィルターを利用する必要があります。なお、フィルター順はcdbt_before_update_dataが先になります。Hook Point
- update_data()指定テーブルのデータを更新します
Reference
Related Hooks
- cdbt_before_update_where更新条件をフィルターします