Commit 9e87334b014 for woocommerce

commit 9e87334b0141fd097e4e78032504ed5a1c718ab1
Author: Tung Du <dinhtungdu@gmail.com>
Date:   Wed Sep 2 17:33:45 2026 +0700

    Revert "Fix visual attribute term column TypeError" (#68262)

    Revert "Fix visual attribute term column TypeError (#68257)"

    This reverts commit 9842e16b1bfe4d753d3e79f2b32d4f718524a49e.

diff --git a/plugins/woocommerce/changelog/wc-slack-1788330585798149-investigation b/plugins/woocommerce/changelog/wc-slack-1788330585798149-investigation
deleted file mode 100644
index 075cef3f799..00000000000
--- a/plugins/woocommerce/changelog/wc-slack-1788330585798149-investigation
+++ /dev/null
@@ -1,4 +0,0 @@
-Significance: patch
-Type: fix
-
-Prevent a critical error when adding terms to Color/Image product attributes.
diff --git a/plugins/woocommerce/src/Internal/ProductAttributes/VisualAttributeTermAdmin.php b/plugins/woocommerce/src/Internal/ProductAttributes/VisualAttributeTermAdmin.php
index d577ec6d4d1..b1017c5a585 100644
--- a/plugins/woocommerce/src/Internal/ProductAttributes/VisualAttributeTermAdmin.php
+++ b/plugins/woocommerce/src/Internal/ProductAttributes/VisualAttributeTermAdmin.php
@@ -387,7 +387,7 @@ class VisualAttributeTermAdmin implements RegisterHooksInterface {
 	 *
 	 * @internal
 	 *
-	 * @param mixed  $content  Column output so far.
+	 * @param string $content  Column output so far.
 	 * @param string $column   Current column key.
 	 * @param int    $term_id  Term ID.
 	 * @param string $taxonomy Taxonomy slug.
@@ -395,7 +395,7 @@ class VisualAttributeTermAdmin implements RegisterHooksInterface {
 	 */
 	public function render_term_visual_column( $content, $column, $term_id, $taxonomy ): string {
 		if ( 'visual' !== $column || ! VisualAttributeTermMeta::is_visual_attribute_taxonomy( $taxonomy ) ) {
-			return is_string( $content ) ? $content : '';
+			return $content;
 		}

 		$image_id = absint( get_term_meta( $term_id, 'image', true ) );
diff --git a/plugins/woocommerce/tests/php/src/Internal/ProductAttributes/VisualAttributeTermAdminTest.php b/plugins/woocommerce/tests/php/src/Internal/ProductAttributes/VisualAttributeTermAdminTest.php
index ecb01a3d14e..c62e4977dfd 100644
--- a/plugins/woocommerce/tests/php/src/Internal/ProductAttributes/VisualAttributeTermAdminTest.php
+++ b/plugins/woocommerce/tests/php/src/Internal/ProductAttributes/VisualAttributeTermAdminTest.php
@@ -236,37 +236,6 @@ class VisualAttributeTermAdminTest extends WC_Unit_Test_Case {
 		}
 	}

-	/**
-	 * @testdox Should preserve string content and normalize non-string content when passing through another column.
-	 * @dataProvider column_content_provider
-	 *
-	 * @param mixed  $content Column content.
-	 * @param string $expected Expected content.
-	 */
-	public function test_normalizes_column_content( $content, string $expected ): void {
-		$instance = wc_get_container()->get( VisualAttributeTermAdmin::class );
-
-		$this->assertSame(
-			$expected,
-			$instance->render_term_visual_column( $content, 'another-column', 1, 'pa_color' ),
-			'Column content should remain a string.'
-		);
-	}
-
-	/**
-	 * Data provider for column content normalization.
-	 *
-	 * @return array
-	 */
-	public function column_content_provider(): array {
-		return array(
-			'string content' => array( 'existing content', 'existing content' ),
-			'null content'   => array( null, '' ),
-			'array content'  => array( array(), '' ),
-			'object content' => array( new \stdClass(), '' ),
-		);
-	}
-
 	/**
 	 * @testdox Should not throw a TypeError when the current screen has a non-string id.
 	 *