WC_Product_Variable_Data_Store_CPT::sync_variation_names
Syncs all variation names if the parent name is changed.
Метод класса: WC_Product_Variable_Data_Store_CPT{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$WC_Product_Variable_Data_Store_CPT = new WC_Product_Variable_Data_Store_CPT(); $WC_Product_Variable_Data_Store_CPT->sync_variation_names( $product, $previous_name, $new_name );
- $product(WC_Product) (обязательный) (передается по ссылке — &)
- Product object.
- $previous_name(строка)
- Variation previous name.
По умолчанию:'' - $new_name(строка)
- Variation new name.
По умолчанию:''
Список изменений
| С версии 3.0.0 | Введена. |
Код WC_Product_Variable_Data_Store_CPT::sync_variation_names() WC Product Variable Data Store CPT::sync variation names WC 10.8.1
public function sync_variation_names( &$product, $previous_name = '', $new_name = '' ) {
if ( $new_name !== $previous_name ) {
global $wpdb;
$wpdb->query(
$wpdb->prepare(
"UPDATE {$wpdb->posts}
SET post_title = REPLACE( post_title, %s, %s )
WHERE post_type = 'product_variation'
AND post_parent = %d",
$previous_name ? $previous_name : 'AUTO-DRAFT',
$new_name,
$product->get_id()
)
);
$invalidator = wc_get_container()->get( ProductVersionStringInvalidator::class );
$children = $product->get_children();
foreach ( $children as $child_id ) {
$invalidator->invalidate( $child_id );
}
$invalidator->invalidate( $product->get_id() );
}
}