serienautas
Forum Replies Created
Viewing 1 replies (of 1 total)
-
Forum: Plugins
In reply to: [License Manager for WooCommerce] Show license in another section somehow?Hola chicos, quiero contarles de que lo logré!!!!!!!!!!!! usando chatgpt me dio la solucion. Aqui les dejo el codigo para colocar en su functions.php de su theme y para usar el shortcode [mostrar_licencias]:
use LicenseManagerForWooCommerce\Repositories\Resources\License as LicenseResourceRepository;
function mostrar_licencias_shortcode() {
if (!is_user_logged_in()) {
return '<p>Necesitas estar logueado para ver tus licencias.</p>';
}
$user_id = get_current_user_id();
$customer_orders = wc_get_orders(array(
'customer' => $user_id,
'status' => 'completed'
));
if (empty($customer_orders)) {
return '<p>No has comprado ninguna licencia.</p>';
}
ob_start(); // Iniciar el buffer de salida
echo '<h2>Cuentas Adquiridas</h2>';
foreach ($customer_orders as $order) {
$order_id = $order->get_id();
$items = $order->get_items();
foreach ($items as $item) {
$product_id = $item->get_product_id();
$product_name = $item->get_name();
$licenses = LicenseResourceRepository::instance()->findAllBy(array(
'order_id' => $order_id,
'product_id' => $product_id
));
if (!$licenses) {
continue;
}
echo '<table class="shop_table">';
echo '<thead><tr><th colspan="2">' . esc_html($product_name) . '</th></tr></thead>';
echo '<tbody>';
foreach ($licenses as $license) {
$decrypted_key = $license->getDecryptedLicenseKey();
$expires_at = $license->getExpiresAt();
echo '<tr>';
echo '<td colspan="' . ($expires_at ? '1' : '2') . '">';
echo '<span class="lmfwc-myaccount-license-key">' . esc_html($decrypted_key) . '</span>';
echo '</td>';
if ($expires_at) {
try {
$date = wp_date(get_option('date_format'), strtotime($expires_at));
} catch (Exception $e) {
$date = '';
}
$valid_until = 'Válido hasta'; // Traducción de "Valid until"
echo '<td><span class="lmfwc-myaccount-license-key">' . sprintf('%s <strong>%s</strong>', esc_html($valid_until), esc_html($date)) . '</span></td>';
}
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
}
}
return ob_get_clean(); // Devolver el contenido del buffer de salida
}
add_shortcode('mostrar_licencias', 'mostrar_licencias_shortcode');ahora solo deben colocar el shortcode [mostrar_licencias] sonde quieran mostrar su licencia. Saludos
Viewing 1 replies (of 1 total)