licenseManager = $licenseManager; $this->registerHooks(); } /** * Register WordPress hooks */ private function registerHooks(): void { // Add license info to order completed email add_action('woocommerce_email_after_order_table', [$this, 'addLicenseInfoToEmail'], 20, 4); // Add license info to order details in emails add_action('woocommerce_order_item_meta_end', [$this, 'addLicenseToOrderItem'], 10, 4); } /** * Add license information to order completed email */ public function addLicenseInfoToEmail(\WC_Order $order, bool $sentToAdmin, bool $plainText, $email): void { // Only add to completed order email sent to customer if ($sentToAdmin || !$email || $email->id !== 'customer_completed_order') { return; } $licenses = $this->getLicensesForOrder($order); if (empty($licenses)) { return; } if ($plainText) { $this->renderPlainTextLicenseInfo($licenses, $order); } else { $this->renderHtmlLicenseInfo($licenses, $order); } } /** * Add license key to order item in email */ public function addLicenseToOrderItem(int $itemId, \WC_Order_Item $item, \WC_Order $order, bool $plainText): void { $product = $item->get_product(); if (!$product || !$product->is_type('licensed')) { return; } $license = $this->licenseManager->getLicenseByOrderAndProduct($order->get_id(), $product->get_id()); if (!$license) { return; } if ($plainText) { echo "\n" . esc_html__('License Key:', 'wc-licensed-product') . ' ' . esc_html($license->getLicenseKey()) . "\n"; } else { ?>
getLicenseKey()); ?>
getLicenseKey()); ?>
|
getExpiresAt(); echo $expiresAt ? esc_html($expiresAt->format(get_option('date_format'))) : esc_html__('Never', 'wc-licensed-product'); ?> |