' . esc_html__( 'API request failed!', 'w3-total-cache' ) . '
' . esc_html__( 'Analyze URL : ', 'w3-total-cache' ) . $url . '
', ); delete_option( 'w3tc_pagespeed_data_' . $encoded_url ); } elseif ( ! empty( $api_response['error'] ) ) { $error_code = ! empty( $api_response['error']['code'] ) ? $api_response['error']['code'] : 'N/A'; $error_message = ! empty( $api_response['error']['message'] ) ? $api_response['error']['message'] : 'N/A'; $api_response_error = array( 'error' => '' . esc_html__( 'API request error!', 'w3-total-cache' ) . '
' . esc_html__( 'Analyze URL : ', 'w3-total-cache' ) . $url . '
' . esc_html__( 'Response Code : ', 'w3-total-cache' ) . $error_code . '
' . esc_html__( 'Response Message : ', 'w3-total-cache' ) . $error_message . '
', ); delete_option( 'w3tc_pagespeed_data_' . $encoded_url ); } elseif ( ! empty( $api_response['mobile']['error'] ) && ! empty( $api_response['desktop']['error'] ) ) { $mobile_error_code = ! empty( $api_response['mobile']['error']['code'] ) ? $api_response['mobile']['error']['code'] : 'N/A'; $mobile_error_message = ! empty( $api_response['mobile']['error']['message'] ) ? $api_response['mobile']['error']['message'] : 'N/A'; $desktop_error_code = ! empty( $api_response['desktop']['error']['code'] ) ? $api_response['desktop']['error']['code'] : 'N/A'; $desktop_error_message = ! empty( $api_response['desktop']['error']['message'] ) ? $api_response['desktop']['error']['message'] : 'N/A'; $api_response_error = array( 'error' => '' . esc_html__( 'API request error!', 'w3-total-cache' ) . '
' . esc_html__( 'Analyze URL : ', 'w3-total-cache' ) . $url . '
' . esc_html__( 'Mobile response Code : ', 'w3-total-cache' ) . $mobile_error_code . '
' . esc_html__( 'Mobile response Message : ', 'w3-total-cache' ) . $mobile_error_message . '
' . esc_html__( 'Desktop response Code : ', 'w3-total-cache' ) . $desktop_error_code . '
' . esc_html__( 'Desktop response Message : ', 'w3-total-cache' ) . $desktop_error_message . '
', ); delete_option( 'w3tc_pagespeed_data_' . $encoded_url ); } else { $api_response['time'] = time(); $api_response['display_time'] = \current_time( 'M jS, Y g:ia', false ); update_option( 'w3tc_pagespeed_data_' . $encoded_url, wp_json_encode( $api_response ), false ); } } ob_start(); include __DIR__ . '/PageSpeed_Page_View_FromAPI.php'; $content = ob_get_contents(); ob_end_clean(); echo wp_json_encode( array( 'w3tcps_domain' => $url, 'w3tcps_score' => array( 'mobile' => $api_response['mobile']['score'], 'desktop' => $api_response['desktop']['score'], ), 'w3tcps_first_contentful_paint' => array( 'mobile' => array( 'score' => $api_response['mobile']['first-contentful-paint']['score'], 'displayValue' => $api_response['mobile']['first-contentful-paint']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['first-contentful-paint']['score'], 'displayValue' => $api_response['desktop']['first-contentful-paint']['displayValue'], ), ), 'w3tcps_largest_contentful_paint' => array( 'mobile' => array( 'score' => $api_response['mobile']['largest-contentful-paint']['score'], 'displayValue' => $api_response['mobile']['largest-contentful-paint']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['largest-contentful-paint']['score'], 'displayValue' => $api_response['desktop']['largest-contentful-paint']['displayValue'], ), ), 'w3tcps_interactive' => array( 'mobile' => array( 'score' => $api_response['mobile']['interactive']['score'], 'displayValue' => $api_response['mobile']['interactive']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['interactive']['score'], 'displayValue' => $api_response['desktop']['interactive']['displayValue'], ), ), 'w3tcps_cumulative_layout_shift' => array( 'mobile' => array( 'score' => $api_response['mobile']['cumulative-layout-shift']['score'], 'displayValue' => $api_response['mobile']['cumulative-layout-shift']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['cumulative-layout-shift']['score'], 'displayValue' => $api_response['desktop']['cumulative-layout-shift']['displayValue'], ), ), 'w3tcps_total_blocking_time' => array( 'mobile' => array( 'score' => $api_response['mobile']['total-blocking-time']['score'], 'displayValue' => $api_response['mobile']['total-blocking-time']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['total-blocking-time']['score'], 'displayValue' => $api_response['desktop']['total-blocking-time']['displayValue'], ), ), 'w3tcps_speed_index' => array( 'mobile' => array( 'score' => $api_response['mobile']['speed-index']['score'], 'displayValue' => $api_response['mobile']['speed-index']['displayValue'], ), 'desktop' => array( 'score' => $api_response['desktop']['speed-index']['score'], 'displayValue' => $api_response['desktop']['speed-index']['displayValue'], ), ), 'w3tcps_content' => $content, 'w3tcps_timestamp' => ! empty( $api_response['display_time'] ) ? $api_response['display_time'] : '', ) ); } }