php - 如何使用 php 数组获取所有 woocommerce 订单计费或发货电子邮件
问题描述
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column',11);
function custom_shop_order_column($columns)
{
$reordered_columns = array();
// Woocommerce version 3.3+ compatibility
$location_after = version_compare( WC_VERSION, '3.3', '<' ) ? 'order_notes' : 'order_status';
// Inserting the new column in a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == $location_after ){
$reordered_columns['pvdl']= __('PVF/DL', 'woocommerce');
}
}
return $reordered_columns;
}
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 10, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
if('pvdl' == $column){
//echo 'Working on it';
$order = wc_get_order($post_id);
$email = $order->get_billing_email();
//var_dump($email);
mailchecker($email);
}
}
function mailchecker($test_mail){
$life = array();
array_push($life, $test_mail);
var_dump($life);
}
我试图将电子邮件推送到一个空数组,但它只显示当前订单电子邮件。我知道我在这里做一些愚蠢的事情,但我被困住了。有好心人想帮我解决这个问题吗?
解决方案
你应该试试这个:
add_action( 'admin_init' , 'custom_orders_list_column_content', 20, 3 ); // change accordingly
function custom_orders_list_column_content()
{
$billing_email = $skip_duplicate = array();
$customer_orders = get_posts( array(
'post_type' => 'shop_order',
'post_status' =>'wc-completed', // change accordingly
'posts_per_page' => '-1'
) );
foreach( $customer_orders as $order){
$order_id = $order->ID;
if($order_id){
$order = wc_get_order( $order_id );
$bemail = $order->get_billing_email();
if(!in_array($bemail, $skip_duplicate)){
$billing_email[] = $bemail;
array_push($skip_duplicate,$bemail);
}
}
}
echo "<pre>";print_r($billing_email); exit;
}
您可以相应地更改“post_status”和“add_action”事件。
推荐阅读
- sql-server - 在 MSSQL 服务器中使用行锁进行更新
- c++ - 如何在不知道其大小的情况下将输入输入到向量内的向量中?
- laravel - DataTable 在 Laravel 和 Vuejs 中被破坏
- postgresql - SERIAL 与 NULL 一起使用,始终作为 IDENTITY 生成而不是
- javascript - 单一 SPA 的替代方案
- git - Git忽略目录中的文件
- jquery - How to make Jquery datatable work on 'n' number of columns?
- aws-kms - 如何在 AWS KMS 中存储自定义密钥
- php - 如何修剪文本的右侧部分并显示结果
- excel - 在 iFrame 后面拉出单个 span id 值