通过Woocommerce中的“结算公司”了解所有客户的数量

时间:2017-11-11 21:36:17

标签: php wordpress curl woocommerce woocommerce-rest-api

我在Wordpress中使用Woocommerce有一个网站,对于我的报告,我需要知道我有多少专业。

由于Woocommerce没有提供此信息,我需要自己获取,但我不能手动计算。

所以我决定使用Woocommerce Rest Api来获取信息。

我试图让所有填写“结算公司”字段的客户。

我用php curl提出请求并开始我的代码:

//URL
$url = '<...>/wp-json/wc/v2/customers';

//REQUEST
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);  

$json = json_decode($result, true);
print_r($json);

我有两个问题:

  • 无法吸引所有客户
  • 无法获得“结算公司”变量

有什么办法吗?

由于

1 个答案:

答案 0 :(得分:2)

为什么你不在WooCommerce中添加自定义子标签&gt;报告&gt;名称为&#34; Professionals&#34;的客户。在此自定义标签中,您可以轻松获得拥有结算公司的客户数量。

代码是:

// Add a custom sub-tab to customer tab WooCommerce reports
add_filter( 'woocommerce_admin_reports', 'admin_report_customer_pro_section', 10, 1 );
function admin_report_customer_pro_section( $reports ){
    $reports['customers']['reports']['customer_pro'] = array(
        'title'       => __( 'Professionals', 'woocommerce' ),
        'description' => '',
        'hide_title'  => true,
        'callback'    => 'content_admin_report_customer_pro',
    );
    return $reports;
}

// The content of the customer custom sub-tab
function content_admin_report_customer_pro(){
    // Get all Customers
    $customers = get_users( array( 'role' => 'customer'));
    $count = 0;

    // Iterating through each customer in the array
    foreach ($customers as $customer) {
        // Count professional customers that have a billing company
        if( ! empty( $customer->billing_company ) ) $count++;
    }

    // Output the count
    echo '<div style="background-color:white; padding:8px 20px;"><p>'.__( 'Number of Professionals (with a company): ', 'woocommerce' ) . '<strong style="display:inline-block;background-color:#9c5d90; padding:0 10px; color:white;">' . $count . '</strong></p></div>';
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试和运作......你会得到这个:

enter image description here