Недавно я создал плагин для WordPress, в котором дал функцию экспорта в csv. Я использовал php по умолчанию fopen, fclose, и он работает. Но когда я проверял плагин с помощью программы проверки тем envato, он рекомендовал использовать методы WP_Filesystem. Но я не могу найти способ открыть CSV-файл и закрыть его, не сохраняя его в каталоге загрузки.
</p>
<pre><code>if(isset($_POST['download_csv'])):
$filename = 'emails-' . time() . '.csv';
$header_row = array( 0 => 'Email', 1 => 'Date' );
$data_rows = array();
$users = $this->get_emails();
foreach( $users as $u ):
$row = array();
$row[0] = $u->email;
$row[1] = $u->dateTime;
$data_rows[] = $row;
endforeach;
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$filename}");
header("Expires: 0");
header("Pragma: public");
$fh = @fopen( 'php://output', 'w' );
$headerDisplayed = false;
foreach( $data_rows as $data ):
if( !$headerDisplayed ):
fputcsv($fh, $header_row);
$headerDisplayed = true;
<?php endif;
fputcsv($fh, $data);
endforeach;
fclose($fh);
exit;
endif;
?>
Работает нормально. Но есть идеи, как я могу интегрировать его с WP_Filesystem?