Automattic\WooCommerce\Internal\ProductAttributes

VisualAttributeTermAdmin::add_visual_data_to_attribute_termspublicWC 1.0

Add visual swatch data to attribute term search results.

Method of the class: VisualAttributeTermAdmin{}

No Hooks.

Returns

array|\WP_Error.

Usage

$VisualAttributeTermAdmin = new VisualAttributeTermAdmin();
$VisualAttributeTermAdmin->add_visual_data_to_attribute_terms( $terms, $taxonomy );
$terms(array|\WP_Error) (required)
The list of matched terms.
$taxonomy(string) (required)
The terms taxonomy.

VisualAttributeTermAdmin::add_visual_data_to_attribute_terms() code WC 11.0.1

public function add_visual_data_to_attribute_terms( $terms, string $taxonomy ) {
	if ( is_wp_error( $terms ) || empty( $terms ) || ! VisualAttributeTermMeta::is_visual_attribute_taxonomy( $taxonomy ) ) {
		return $terms;
	}

	// Because `$terms` might be filtered by a plugin, make sure we only operate on valid terms.
	$valid_terms = array_filter(
		$terms,
		static function ( $term ) {
			return is_object( $term ) && isset( $term->term_id );
		}
	);

	$term_ids = array_map( 'intval', wp_list_pluck( $valid_terms, 'term_id' ) );
	$visuals  = VisualAttributeTermMeta::get_term_visuals( $term_ids );

	foreach ( $valid_terms as $term ) {
		/**
		 * Term object with dynamic visual property.
		 *
		 * @var \stdClass $term
		 */
		$term->visual = $visuals[ $term->term_id ] ?? VisualAttributeTermMeta::get_empty_visual();
	}

	return $terms;
}