product_presave
Срабатывает перед сохранением товара: при редактировании товара вручную или при импорте.
Shop-Script
Входящие параметры (передаются по ссылке)
$params array Массив параметров.
$params['data'] array Свойства данных товара перед сохранением. Не меняется плагинами.
$params['dirty'] array Массив полей, которые должны быть обновлены. Плагины могут менять этот массив, чтобы влиять на сохранение.
$params['new_data'] array Массив данных, которые нужно сохранить. Плагины могут менять этот массив, чтобы влиять на сохранение.
$params['instance'] shopProduct Экземпляр класса shopProduct, соответствующий сохраняемому товару.
$params['data'] array Свойства данных товара перед сохранением. Не меняется плагинами.
$params['dirty'] array Массив полей, которые должны быть обновлены. Плагины могут менять этот массив, чтобы влиять на сохранение.
$params['new_data'] array Массив данных, которые нужно сохранить. Плагины могут менять этот массив, чтобы влиять на сохранение.
$params['instance'] shopProduct Экземпляр класса shopProduct, соответствующий сохраняемому товару.
… код плагина …
Результат работы плагина
$return['result']
bool=false Значение, которое нужно вернуть, чтобы сигнализировать об ошибке. В противном случае обработчик хука не должен возвращать значение.
$return['error']
string Сообщение об ошибке.
Shop-Script
Пример кода плагина
PHP
public function productPresave($params) { if (!empty($params['new_data']['description']) && strpos($params['new_data']['description'], '#') !== false) { return array( 'result' => false, 'error' => _wp('# character is not allowed in product descriptions.'), ); } }