クラス
OrderListCSV
ソース ソース
ファイル: src/Admin/OrderListCSV.php
class OrderListCSV
{
/**
* Registers hooks
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return void
*/
public static function init() {
add_action('usces_action_chk_pro_detail', [get_class(), 'addComboGroupItemsDownloadColCheckbox'], 10, 1);
add_filter('usces_filter_chk_pro_label_detail', [get_class(), 'addComboGroupItemsColLabel'], 10, 1);
add_filter('usces_filter_chk_pro_data_detail', [get_class(), 'addComboGroupItemsColCell'], 10, 4);
add_filter('usces_filter_chk_pro', [get_class(), 'persistCheckedStatus'], 10, 1);
}
/**
* Adds combo-set column checkbox to download dialog
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $chk_pro
* @return void
*/
public static function addComboGroupItemsDownloadColCheckbox($chk_pro) {
?>
<label for="chk_pro[combo_set]">
<input
type="checkbox"
class="check_pro check_product"
id="chk_pro[combo_set]"
value="combo_set"
<?php usces_checked($chk_pro, 'combo_set'); ?> />
<?php esc_html_e('Combo-Set Selections', 'wcexics'); ?>
</label>
<?php
}
/**
* Appends a column header label for combo-set group items
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param null $null
* @return null|string
*/
public static function addComboGroupItemsColLabel($null) {
if (empty($_GET['check'])) {
return $null;
}
if (empty($_GET['check']['combo_set']) || $_GET['check']['combo_set'] !== 'on') {
return $null;
}
$th_h = ',"';
$th_f = '"';
return $th_h . __('Combo-Set Selections', 'wcexics') . $th_f;
}
/**
* Appends a column cell for combo-set group items
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param null $null
* @param array $usces_opt_order
* @param array $array
* @param array $cart_row
* @return null|string
*/
public static function addComboGroupItemsColCell($null, $usces_opt_order, $array, $cart_row) {
if (empty($_GET['check'])) {
return $null;
}
if (empty($_GET['check']['combo_set']) || $_GET['check']['combo_set'] !== 'on') {
return $null;
}
$csdata = CartPages::getComboSetCart($cart_row);
$details = '';
if (!empty($csdata)) {
$details = Cart::getComboSetCartDetailsSpaceSeparated($csdata['cartRows']);
}
$td_h = ',"';
$td_f = '"';
return !empty($details) ? $td_h . $details . $td_f : $null;
}
/**
* Persist checked status for CSV product download combo-set checkbox
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $chk_pro
* @return array
*/
public static function persistCheckedStatus($chk_pro) {
$chk_pro['combo_set'] = isset($_REQUEST['check']['combo_set']) ? 1 : 0;
return $chk_pro;
}
}
- addComboGroupItemsColCell — Appends a column cell for combo-set group items
- addComboGroupItemsColLabel — Appends a column header label for combo-set group items
- addComboGroupItemsDownloadColCheckbox — Adds combo-set column checkbox to download dialog
- init — Registers hooks
- persistCheckedStatus — Persist checked status for CSV product download combo-set checkbox