'facebook', 'account' => '', 'label' => '', ), ); $opening_hours_entries = ! empty( $options['opening_hours'] ) && is_array( $options['opening_hours'] ) ? $options['opening_hours'] : array(); $opening_hours_rows = array(); foreach ( $opening_hours_entries as $entry ) { $day_key = isset( $entry['day_key'] ) ? $entry['day_key'] : ( $entry['day'] ?? 'Monday' ); $slots = array(); if ( ! empty( $entry['slots'] ) && is_array( $entry['slots'] ) ) { $slots = $entry['slots']; } else { $slots[] = array( 'opens' => isset( $entry['opens'] ) ? $entry['opens'] : '', 'closes' => isset( $entry['closes'] ) ? $entry['closes'] : '', ); } foreach ( $slots as $slot ) { $opening_hours_rows[] = array( 'day_key' => $day_key, 'opens' => isset( $slot['opens'] ) ? $slot['opens'] : '', 'closes' => isset( $slot['closes'] ) ? $slot['closes'] : '', ); } } if ( empty( $opening_hours_rows ) ) { $opening_hours_rows[] = array( 'day_key' => 'Monday', 'opens' => '', 'closes' => '', ); } $rich_results_target = ! empty( $options['site_url'] ) ? $options['site_url'] : get_site_url(); $rich_results_url = 'https://search.google.com/test/rich-results?url=' . rawurlencode( $rich_results_target ); $language_count = ! empty( $options['languages'] ) && is_array( $options['languages'] ) ? count( $options['languages'] ) : 0; $language_count = $language_count ? $language_count : 1; $hero_country = ! empty( $options['country_code'] ) ? $options['country_code'] : __( 'Not set', 'aivec-ai-search-schema' ); $hero_entity = ! empty( $options['entity_type'] ) ? $options['entity_type'] : 'Organization'; $settings_notices = ''; if ( function_exists( 'settings_errors' ) ) { ob_start(); settings_errors( $option_name ); $settings_notices = trim( ob_get_clean() ); } // 診断サマリーの集計 $diag_errors = array(); $diag_warnings = array(); if ( ! empty( $diagnostics['groups'] ) && is_array( $diagnostics['groups'] ) ) { foreach ( $diagnostics['groups'] as $group ) { if ( empty( $group['items'] ) || ! is_array( $group['items'] ) ) { continue; } $group_title = $group['title'] ?? ''; foreach ( $group['items'] as $item ) { if ( 'error' === ( $item['status'] ?? '' ) ) { $diag_errors[] = array( 'group' => $group_title, 'message' => $item['message'] ?? '', ); } elseif ( 'warning' === ( $item['status'] ?? '' ) ) { $diag_warnings[] = array( 'group' => $group_title, 'message' => $item['message'] ?? '', ); } } } } $diag_error_count = count( $diag_errors ); $diag_warning_count = count( $diag_warnings ); $diag_has_issues = $diag_error_count > 0 || $diag_warning_count > 0; ?>