button for download
<a href="?export=csv">Download CSV</a>
for wp list table
function extra_tablenav($which) {
if ($which == "top") {
echo '<a href="' . esc_url(add_query_arg('export', 'csv')) . '" class="button button-primary">Export as CSV</a>';
}
}
function export_to_csv() {
if (isset($_GET['export']) && $_GET['export'] === 'csv') {
global $wpdb;
// The SQL query for fetching data
$sql = "SELECT * FROM wp_users";
$data = $wpdb->get_results($sql, ARRAY_A);
// Set headers for CSV download
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=user_report.csv');
// Open output stream to write CSV
$output = fopen('php://output', 'w');
// Output column headers
fputcsv($output, array('ID', 'email'));
// Output data rows
foreach ($data as $row) {
fputcsv($output, $row);
}
fclose($output);
// Stop further execution after outputting the CSV
exit();
}
}
add_action('admin_init', 'export_to_csv');
0 Comments
Post a Comment