Un usuario preguntó 👇
* WooCommerce Checkout Manager Versión 4.5.7 * WooCommerce 3.7.1 * WordPress 5.2.4
No noté errores.
Antes de hoy, todos los campos personalizados de WooCommerce Checkout Manager se incluían en mis correos electrónicos de notificación para nuevos pedidos, pero ahora los campos personalizados no están incluidos en los correos electrónicos. Una cosa en la que puedo pensar es que WordPress podría actualizarse automáticamente hoy.
¿Alguna idea?
(@logicalnot)
Hace 1 año, 4 meses
Tengo la misma pregunta. Continuo.
(@corytrevor)
Hace 1 año, 4 meses
Yo también.
(@ peterfz30)
Hace 1 año, 4 meses
Mismo problema, siguiendo
(@ stonethrow11)
Hace 1 año, 4 meses
En la misma pregunta también
(@ shazliyana97)
Hace 1 año, 4 meses
Yo también
(@wigster)
Hace 1 año, 4 meses
+1
(@wigster)
Hace 1 año, 4 meses
Parece que se han realizado algunas actualizaciones relativamente importantes al mirar el código del plugin. Observo que hay dos líneas en particular que se han omitido:
/new/class-wooccm.php
Línea 40:
//include_once( WOOCCM_PLUGIN_DIR . 'new/controller/class-wooccm-order-email-controller.php' );
y
/new/view/backend/pages/parts/header.php
Línea 14:
//$sections['email'] = esc_html__('Email', 'woocommerce-checkout-manager');
Traté de descomprimirlos, pero eso no ha ayudado ni me ha brindado otras opciones todavía.
Esta respuesta fue modificada hace 1 año, 4 meses.
(@ catkins10)
Hace 1 año, 4 meses
Tengo el mismo problema. Tengo un campo de área de texto adicional llamado myfield1 y no sé cómo restaurarlo en el correo electrónico de la línea de comandos (admin-new-order.php).
gracias
(@quadlayers)
Hace 1 año, 4 meses
Hola
la función de correo electrónico ya no es compatible
el plugin estaba lleno de errores y deberíamos tomar algunos deseos indeseables para mantenerlo
Como sabe que se ha reconstruido todo el panel y ahora el equipo está evaluando los próximos pasos bajo estas características, ya que deberían reescribirse desde cero, es probable que se incluyan en una versión premium.
sin embargo, siempre puede volver a las versiones anteriores del autor en la sección avanzada
simplemente vaya a VERSIONES ANTERIORES y seleccione 4.3.2, que es la última versión sin cambios
gracias por entender
Esta respuesta fue modificada hace 1 año, 4 meses.
(@ stonethrow11)
Hace 1 año, 4 meses
Si va a hacer un cambio tan grande, los usuarios deben estar informados de alguna manera,
Sus plugins no están instalados y hay uno mejor instalado Para otros que han estado usando este plugin, hay mejores que este ahora que se han eliminado en gran medida.
(@simonno)
Hace 1 año, 4 meses
Estoy muy agradecido de que se haya hecho cargo de la propiedad. Pero este es un gran problema para mí = (
(@wigster)
Hace 1 año, 4 meses
Esta es una gran pregunta: a la luz de esto, querré desembolsar este plugin y reemplazarlo.
(@quadlayers)
Hace 1 año, 4 meses
hemos reescrito el código antiguo para ti
puede incluir esto en functions.php en sus temas o cargarlo como un plugin
/**
* Plugin Name: WooCommerce Checkout Manager Email Fix
* Description: Manages WooCommerce Checkout, the advanced way.
* Version: 1.0.0
* Author: QuadLayers
* Author URI: https://www.quadlayers.com
*/
add_action('woocommerce_email_after_order_table', 'wooccm_order_receipt_checkout_details', 10, 3);
function wooccm_order_receipt_checkout_details($order, $sent_to_admin, $plain_text = '') {
if (class_exists('WOOCCM')) {
$billing_defaults = WOOCCM()->billing->get_defaults();
$shipping_defaults = WOOCCM()->shipping->get_defaults();
$additional_defaults = WOOCCM()->additional->get_defaults();
$billing = WOOCCM()->billing->get_fields();
$shipping = WOOCCM()->shipping->get_fields();
$additional = WOOCCM()->additional->get_fields();
if (!empty($billing)) {
foreach ($billing as $btn) {
if (!in_array($btn['name'], $billing_defaults)) {
if (( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'] . ': ' . nl2br(get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true));
echo "n";
} elseif (
!empty($btn['label']) &&
$btn['type'] == 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'];
echo "n";
} elseif (
( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'file' &&
(
$btn['type'] == 'multiselect' || $btn['type'] == 'multicheckbox'
)
) {
$value = get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true);
$strings = maybe_unserialize($value);
echo $btn['label'] . ': ';
if (!empty($strings)) {
if (is_array($strings)) {
$iww = 0;
$len = count($strings);
foreach ($strings as $key) {
if ($iww == $len - 1) {
echo $key;
} else {
echo $key . ', ';
}
$iww++;
}
} else {
echo $strings;
}
} else {
echo '-';
}
echo "n";
}
}
}
}
if (!empty($shipping)) {
foreach ($shipping as $btn) {
if (!in_array($btn['name'], $shipping_defaults)) {
if (( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'] . ': ' . nl2br(get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true));
echo "n";
} elseif (
!empty($btn['label']) &&
$btn['type'] == 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'];
echo "n";
} elseif (
( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'file' &&
(
$btn['type'] == 'multiselect' || $btn['type'] == 'multicheckbox'
)
) {
$value = get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true);
$strings = maybe_unserialize($value);
echo $btn['label'] . ': ';
if (!empty($strings)) {
if (is_array($strings)) {
$iww = 0;
$len = count($strings);
foreach ($strings as $key) {
if ($iww == $len - 1) {
echo $key;
} else {
echo $key . ', ';
}
$iww++;
}
} else {
echo $strings;
}
} else {
echo '-';
}
echo "n";
}
}
}
}
if (!empty($additional)) {
foreach ($additional as $btn) {
if (!in_array($btn['name'], $additional_defaults)) {
if (( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'] . ': ' . nl2br(get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true));
echo "n";
} elseif (
!empty($btn['label']) &&
$btn['type'] == 'heading' &&
$btn['type'] !== 'multiselect' &&
$btn['type'] !== 'file' &&
$btn['type'] !== 'multicheckbox'
) {
echo $btn['label'];
echo "n";
} elseif (
( get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true) !== '' ) &&
!empty($btn['label']) &&
$btn['type'] !== 'heading' &&
$btn['type'] !== 'file' &&
(
$btn['type'] == 'multiselect' || $btn['type'] == 'multicheckbox'
)
) {
$value = get_post_meta($order->get_id(), sprintf('_%s', $btn['key']), true);
$strings = maybe_unserialize($value);
echo $btn['label'] . ': ';
if (!empty($strings)) {
if (is_array($strings)) {
$iww = 0;
$len = count($strings);
foreach ($strings as $key) {
if ($iww == $len - 1) {
echo $key;
} else {
echo $key . ', ';
}
$iww++;
}
} else {
echo $strings;
}
} else {
echo '-';
}
echo "n";
}
}
}
}
}
}
(@corytrevor)
Hace 1 año, 4 meses
Eso es genial, el código funciona muy bien. ¡Gracias!
¿Hay alguna forma de editar el código para que el diseño sea el mismo que antes con una ruptura completa entre los campos adicionales en el correo electrónico?
(@quadlayers)
Hace 1 año, 4 meses
echo quizás reemplazando » n» con echo «
«
¿Solucionó tu problema??
0 / 0