這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

CSV Download

外掛說明

A plugin for WP developers to easily add CSV download links to the admin section or front end. When a specific GET variable is detected (from the download link) your data, which needs to be a multi-dimensional array, is passed to a function that converts it to a csv file and triggers the download.

Add the following code to functions.php.

Admin Example

/**
 * Instantiate CSVDownload class with appropriate arguments (listed in class).
 * Arguments are optional
 */
if (class_exists('CSVDownload')) {
  $csv_button = New CSVDownload(array(
    'post_types' => array('page'),
    'post_type_ids' => array(420, 114, 749),
    'metabox_title' => 'Download CSV Data',
    'help_text' => 'CSV file containing useful data.',
    'parameter' => 'csv_export_button',
    'button_text' => 'Download'
  ));
}

/**
 * Get results, convert to csv file, and trigger download.
 */
if(isset($_GET[$csv_button->parameter])) {
  add_action('admin_init', function(){
    // Get results array
    $results = get_csv_file_results();
    // Convert results array to csv file and trigger download.
    CSVDownload::download_csv_results(array(
      'results' => $results,
      'file_name' => 'csv_data'
    ));
    exit;
  }, 1);
}

/**
 * Get the results array for the csv button download.
 *
 * @return array
 */
function get_csv_file_results(){

  // Create multi-dimensional array.
  $results_array = array(
    array('Email','User Name','Favorite Color'), // Column headers
    array('fake@email.com','coolguy1','blue'),
    array('fake@email.com','coolguy2','orange'),
    array('fake@email.com','coolguy3','pink'),
    array('fake@email.com','coolguy4','red'),
  );

  // Return results array
  return $results_array;
}

Front End Example

Add a button element to your HTML.

<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>?csv_export_button=1">Download</a>

Add init action callback and provide array data.

/**
 * Get results, convert to csv file, and trigger download.
 */
if(isset($_GET['csv_export_button'])) {
  add_action('init', function(){
    // Get results array
    $results = get_csv_file_results();
    // Convert results array to csv file and trigger download.
    CSVDownload::download_csv_results(array(
      'results' => $results,
      'file_name' => 'csv_data'
    ));
    exit;
  }, 1);
}

/**
 * Get the results array for the csv button download.
 *
 * @return array
 */
function get_csv_file_results(){

  // Create multi-dimensional array.
  $results_array = array(
    array('Email','User Name','Favorite Color'), // Column headers
    array('fake@email.com','coolguy1','blue'),
    array('fake@email.com','coolguy2','orange'),
    array('fake@email.com','coolguy3','pink'),
    array('fake@email.com','coolguy4','red'),
  );

  // Return results array
  return $results_array;
}

AgencyLabs.com – A digital production studio.

螢幕擷圖

安裝方式

  1. Upload the plugin files to the /wp-content/plugins/csv-download directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress

使用者評論

閱讀全部 1 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈CSV Download〉的開發相關工作。

參與者

將〈CSV Download〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄