get_changelog(9999, 1); ?>

'; echo ''; // Version echo ''; // Date echo ''; // Changes (HTML allowed) echo ''; } } else { echo ''; } ?>
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '' . wp_kses_post($entry[2]) . '
' . // translators: Error message when changelog file cannot be found esc_html__('Changelog file not found.', 'ai-editor-post-switcher') . '
'; // Split by lines and filter out empty ones $lines = array_filter(array_map('trim', explode("\n", $content)), function($line) { return !empty($line); }); foreach ($lines as $line) { if (!empty($line)) { $changes_html .= '
  • ' . esc_html($line) . '
  • '; } } $changes_html .= ''; $all_entries[] = array( $version, $date, $changes_html ); } // Get slice of entries for current page $entries = array_slice($all_entries, $offset, $limit); } } return array( 'entries' => $entries, 'total' => $total, 'pages' => ceil($total / $limit) ); } }