isset( $c['slug'] ) ? $c['slug'] : '', 'name' => isset( $c['name'] ) ? $c['name'] : '', 'color' => $c['color'], 'origin' => null === $origin ? 'theme' : $origin, ); } } } } if ( ! $out ) { $support = get_theme_support( 'editor-color-palette' ); if ( is_array( $support ) && ! empty( $support[0] ) ) { foreach ( $support[0] as $c ) { $out[] = array( 'slug' => isset( $c['slug'] ) ? $c['slug'] : '', 'name' => isset( $c['name'] ) ? $c['name'] : '', 'color' => isset( $c['color'] ) ? $c['color'] : '', 'origin' => 'theme', ); } } } // Only plain hex colours can be compared reliably. return array_values( array_filter( $out, static function ( $c ) { return (bool) preg_match( '/^#([0-9a-f]{3}|[0-9a-f]{6})$/i', $c['color'] ); } ) ); } }