Intereting Posts
Как установить несколько аргументов `orderby` в запросе? Большинство параметров wp_nav_menu игнорируются Возникла проблема с получением URL изображений галереи изображений WP Несколько плагинов, взаимодействующих с меню поместите обычную таксономию в слизь перед их соответствующим словом Как добавить скрипт jQuery на отдельную страницу? Массовое перемещение (или копирование) из настраиваемого поля в сообщение? отображение цикла foreach ниже содержания Как найти все внутренние ссылки, указывающие на пост / страницу? Абсолютный путь к stylesheet_dir / images / my_img.jpg не работает? Как редактировать виджеты в WordPress Как показать статический placeholder, когда меньше элементов сообщения на странице архива? Обновить версию jquery Родительский вариант для запуска других связанных опций с помощью Theme Customizer Разрешать пользователям доступ к ссылке один раз в год, исходя из даты их присоединения

Как отправить электронную почту в виде тяжести?

Мой вопрос заключается в том, как отправить электронное письмо с .csv только самой последней записью. Я попытался прокомментировать цикл foreach а также изменить GFExport::start_export на меньшее число, и не помог мне решить вопрос о GFExport::start_export отправке самой последней записи и ее строки заголовка .csv . Мой код основан на плагине здесь: https://gist.github.com/spivurno/92734d769e0ec8c0eaf1

Мой код:

 class BT_Email_CSV { private static $_current_entry; public function __construct( $args = array() ) { // set our default arguments, parse against the provided arguments, and store for use throughout the class $this->_args = wp_parse_args( $args, array( 'form_id' => false, 'email' => false ) ); // do version check in the init to make sure if GF is going to be loaded, it is already loaded add_action( 'init', array( $this, 'init' ) ); } public function init() { // make sure we're running the required minimum version of Gravity Forms if( ! property_exists( 'GFCommon', 'version' ) || ! version_compare( GFCommon::$version, '2.0', '>=' ) ) { return; } // carry on add_action( 'gform_after_submission_' . $this->_args['form_id'], array( $this, 'email_csv' ), 20, 2 ); } public function email_csv( $entry, $form ) { $csv = $this->get_csv( $form, $entry ); wp_mail( $this->_args['email']['to'], $this->_args['email']['subject'], $this->_args['email']['message'], '', array( $csv['path'] ) ); // delete CSV from file system once email is sent unlink( $csv['path'] ); // delete entry once email is sent // GFAPI::delete_entry( $entry['id'] ); } // public function get_csv( $form, $entry ) { // require_once( GFCommon::get_base_path() . '/export.php' ); // self::$_current_entry = $entry; // add_filter( 'gform_leads_before_export', array( $this, 'filter_export_entries' ) ); // $_POST['export_field'] = array_keys( $entry ); // GFExport::start_export( $form, 0, $entry['id'] ); // self::$_current_entry = null; // // remove_filter( 'gform_leads_before_export', array( $this, 'filter_export_entries' ) ); // return $this->get_file_path($entry['id']); // } // Modification on 11-11-17 public function get_csv( $form, $entry ) { require_once( GFCommon::get_base_path() . '/export.php' ); self::$_current_entry = $entry; add_filter( 'gform_leads_before_export', array( $this, 'filter_export_entries' ) ); ob_start(); $_POST['export_field'] = array_keys( $entry ); GFExport::start_export( $form, 0, $entry['id'] ); $csv = ob_get_clean(); self::$_current_entry = null; remove_filter( 'gform_leads_before_export', array( $this, 'filter_export_entries' ) ); // $file_deets = GFFormsModel::get_file_upload_path( $form['id'], 'my-test-file.csv' ); // // $file = fopen( $file_deets['path'], 'w' ); // // fwrite( $file, $csv ); // fclose( $file ); // // return $file_deets; return $this->get_file_path($entry['id']); } public function get_file_path($entry_id){ $uploads_folder = RGFormsModel::get_upload_root(); $export_folder = $uploads_folder . 'export'; $export_folder = trailingslashit( $export_folder ); $result = array(); $result['path'] = $export_folder . sanitize_file_name( 'export-' . $entry_id .'.csv' ); return $result; } public function filter_export_entries( $entries ) { if( ! self::$_current_entry ) { return $entries; } // Modification on 11-11-17 if( $entry['id'] == self::$_current_entry['id'] ) { return $_current_entry; } // foreach( $entries as $entry ) { // if( $entry['id'] == self::$_current_entry['id'] ) { // return array( $entry ); // } // } return $entries; } } # Configuration new BT_Email_CSV( array( 'form_id' => 15, 'email' => array( 'to' => 'info@example.com', 'subject' => 'This is the subject', 'message' => 'This is the message' ) ) );