Created
July 30, 2022 11:32
-
-
Save bomsn/e41f9e23af24c8c123534643da8ad2c8 to your computer and use it in GitHub Desktop.
Export AutomateWoo plugin optin emails ( for WordPress - WooCommerce )
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
header('Content-type: text/csv'); | |
header('Content-Disposition: attachment; filename="optins-data-' . date("d/m/Y") . '.csv"'); | |
header('Pragma: no-cache'); | |
header('Expires: 0'); | |
$file = fopen('php://output', 'w'); | |
fputcsv($file, array('Name', 'Email')); | |
$query = new AutomateWoo\Customer_Query(); | |
if (AutomateWoo\Options::optin_enabled()) { | |
$query->where('subscribed', true); | |
$query->set_ordering('subscribed_date'); | |
} else { | |
$query->where('unsubscribed', true); | |
$query->set_ordering('unsubscribed_date'); | |
} | |
$query->set_calc_found_rows(true); | |
$query->set_limit(4000); | |
$query->set_page(1); | |
$results = $query->get_results(); | |
if (!empty($results)) { | |
foreach ($results as $customer) { | |
$name = esc_attr( $customer->get_full_name() ); | |
$email = esc_attr( $customer->get_email() ); | |
fputcsv($file, array($name, $email)); | |
} | |
} | |
fclose($file); | |
exit(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You should place this code inside a function and wrap it in a condition to call it when you need. This will not work out of the box for you. So you'll need some understanding of PHP and WP Hooks.
This is a sample code
When the full code is added to functions.php file of the child theme, run any page on admin area with the query parameter
custom_action
in the URL (eg; domain.com/wp-admin/?custom_action=1)