<?php
/*
Plugin Name: Name of the plugin
Plugin URI: https://www.example.com
Description: Description of the plugin.
Version: 1.0
Author: Author Name
Author URI: https://www.example.com
License: GPL2
License URI: https://www.example.com
Text Domain: Text Domain
Domain Path: /languages
*/
if (!defined('ABSPATH')) {
exit;
}
require_once 'vendor/autoload.php';
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;
// On order status change generate the qr code and save it to the uploads folder
add_action('woocommerce_order_status_completed', 'send_email_with_qr_code');
// Send email including qr code and name of the customer
function send_email_with_qr_code($order_id)
{
$order = wc_get_order($order_id);
$customer_name = $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();
$qr_code_string = $order_id;
$UploadDir = wp_upload_dir();
$UploadURL = $UploadDir['baseurl'];
$renderer = new ImageRenderer(
new RendererStyle(400),
new ImagickImageBackEnd()
);
$writer = new Writer($renderer);
$writer->writeFile($qr_code_string, $UploadDir . '/qr/' . $order_id . '.png');
$qr_image = $UploadURL . '/qr/' . $order_id . '.png';
$to = $order->get_billing_email();
$subject = 'QR Code';
$message = 'Hello ' . $customer_name . ' here is your QR Code';
$headers = array('Content-Type: text/html; charset=UTF-8');
$attachments = array($qr_image);
wp_mail($to, $subject, $message, $headers, $attachments);
}
我正在尝试通过电子邮件发送带有订单号的二维码,除了保存二维码外,一切正常。我正在使用培根二维码库。
我试着只保存二维码,但也没用。我也试过PHP二维码库,同样的问题。