WC_Post_Data::edited_term( int $term_id, int $tt_id, string $taxonomy )

When a term is edited, check for product attributes and update variations.


Description Description


Parameters Parameters

$term_id

(Required) Term ID.

$tt_id

(Required) Term taxonomy ID.

$taxonomy

(Required) Taxonomy slug.


Top ↑

Source Source

File: includes/class-wc-post-data.php

	public static function edited_term( $term_id, $tt_id, $taxonomy ) {
		if ( ! is_null( self::$editing_term ) && strpos( $taxonomy, 'pa_' ) === 0 ) {
			$edited_term = get_term_by( 'id', $term_id, $taxonomy );

			if ( $edited_term->slug !== self::$editing_term->slug ) {
				global $wpdb;

				$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = %s WHERE meta_key = %s AND meta_value = %s;", $edited_term->slug, 'attribute_' . sanitize_title( $taxonomy ), self::$editing_term->slug ) );

				$wpdb->query(
					$wpdb->prepare(
						"UPDATE {$wpdb->postmeta} SET meta_value = REPLACE( meta_value, %s, %s ) WHERE meta_key = '_default_attributes'",
						serialize( self::$editing_term->taxonomy ) . serialize( self::$editing_term->slug ),
						serialize( $edited_term->taxonomy ) . serialize( $edited_term->slug )
					)
				);
			}
		} else {
			self::$editing_term = null;
		}
	}

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.