无法将 QR 码保存到 WP 上传文件夹,Bacon QR [关闭]

问题描述 投票:0回答:0
<?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二维码库,同样的问题。

php woocommerce plugins qr-code
© www.soinside.com 2019 - 2024. All rights reserved.