public function update($table, $data, $where, $format = null, $where_format = null)
{
/**
* @var $wpdb wpdb
*/
global $wpdb;
if (strlen($table) < 1 || empty($data) || !is_array($data)) {
return false;
}
if (empty($format)) {
$format = array();
foreach ($data as $field) {
if (isset(self::$field_types[$field])) {
$form = self::$field_types[$field];
} elseif (isset($wpdb->field_types[$field])) {
$form = $wpdb->field_types[$field];
} else {
$form = '%s';
}
$format[] = $form;
}
}
if (empty($where_format)) {
$where_format = array();
foreach ((array) array_keys($where) as $field) {
if (isset(self::$field_types[$field])) {
$form = self::$field_types[$field];
} elseif (isset($wpdb->field_types[$field])) {
$form = $wpdb->field_types[$field];
} else {
$form = '%s';
}
$where_format[] = $form;
}
}
list($table, $data, $where, $format, $where_format) = $this->do_hook('update', array($table, $data, $where, $format, $where_format));
$result = $wpdb->update($table, $data, $where, $format, $where_format);
if (false !== $result) {
return true;
}
return false;
}