Здравствуйте!
Нужно в моем дополнении предусмотреть автоматическую отправку необходимых данных раз в неделю или раз в день.
Данные как правило различные выдержки из истории проведенных платежей магазина RCL-Commerce.
Само задание без данных отрабатывает на ура.
Возникла проблема с получением данных, поскольку ни класс Rcl_Payments ни класс Rcl_Payments_History становятся не видны для функции, которая их получает.
Код функции вот:
function create_csv() { //include_once untrailingslashit( dirname(plugin_dir_path( __FILE__ ))).'/user-profile-pay-export/class-rcl-payments.php'; include_once untrailingslashit(get_site_url().'wp-content/plugins/wp-recall/user-balance/class-rcl-payments.php'; $fd = fopen('php://temp/', 'w'); if($fd === FALSE) { die('Failed to open temporary file'); } $headers = '№ п/п, ID платежа, Фамилия, Имя, Отчество, Сумма, Дата платежа, Платежная система, Тип платежа'; $payments = new Rcl_Payments(); $payments->set_query(array( 'offset' => 0, 'number' => 50 )); $tableAs = $payments->query['table']['as']; $allPayments = $payments->get_data(); error_log("Program it work", 0); $dataPayments = ''; foreach ($allPayments as $payment) { $dataPayments .= '' . ($payment -> ID) . ', '; $dataPayments .= '' . ($payment -> payment_id) . ', '; $userById = get_userdata($payment -> user_id); $customFields = rcl_get_custom_fields_profile_to_export( $userById); $dataPayments .= '' . ($userById->last_name) . ', '; $dataPayments .= '' . ($userById->first_name) . ', '; $dataPayments .= '' . ($customFields[0]) . ', '; $dataPayments .= '' . ($payment -> pay_amount) . ', '; $dataPayments .= '' . ($payment -> time_action) . ', '; $dataPayments .= '' . ($payment -> pay_system) . ', '; $dataPayments .= '' . ($payment -> pay_type) . ''; $dataPayments .= '\n'; } debug_to_console($dataPayments); fputcsv($fd, $headers); //foreach ($dataPayments as $payment) { // fputcsv($fd, $payment); //} fputcsv($fd, $dataPayments); if("\n" != $eol && 0 === fseek($fp, -1, SEEK_CUR)) { fwrite($fp, $eol); } rewind($fd); $csv = stream_get_contents($fd); $myfile = fread($fd, 1024); fclose($fd); //return $dataPayments; return $csv; }
Вопросы
1. Может для этой функции нужен специальный хук? который позволил бы ей обращаться к классам wp-recall?
Потому что та же сама функция без проблем выводит необходимые данные в админку. А вот при обработке cron-ом не находит вышеуказанные классы.
2. Может эти классы должны как-то инклудиться по другому, потому что для их использования в админке вообще не понадобились инклуды?