product_presave
Executes custom code before a product gets saved, either manually or during import. A plugin can cancel saving a product by returning an error message in returned array’s 'error' item.
Shop-Script
Input (passed by reference)
$params array Parameters.
$params['data'] Array Product data before saving.
$params['dirty'] array Fields which must be updated.
$params['new_data'] array Data to be saved.
$params['instance'] shopProduct Product handling class instance.
$params['data'] Array Product data before saving.
$params['dirty'] array Fields which must be updated.
$params['new_data'] array Data to be saved.
$params['instance'] shopProduct Product handling class instance.
… your plugin code …
Output
$return['result']
bool=false Value which must be returned to notify about an error. Otherwise, a hook handler shoud not return any value.
$return['error']
string Error message.
Shop-Script
Plugin code example
PHP
public function productPresave($params) { if (!empty($params['new_data']['description']) && strpos($params['new_data']['description'], '#') !== false) { return [ 'result' => false, 'error' => _wp('# character is not allowed in product descriptions.'), ]; } }