Me derivan al foro con este tema. Tengo instalado el plug-in de MRW en Woocommerce. Todo se instala y ejecuta bien. El entorno de pruebas es correcto y nada raro. La cuestión es que cuando está activado y entras a productos, ves la lista, pero cuando entras a editar un producto aparece un error crítico: el error es:
[26-Dec-2023 17:02:03 UTC] PHP Fatal error: Uncaught Exception: Pedido no válido. in /home2/allonuga/public_ html/nutriatlon.com/wp-content/plugins/woocommerce/includes/data-
stores/abstract-wc-order-data-store-cpt.php:137
Por si pudiera ser la versión php era la 7,4, pero ya actualice y el error sigue ocurriendo. Por tanto, el plug-in funciona, pero si quiero editar un producto tengo que desactivarlo, cambiar
y volver a activarlo.
¡Espero me podáis ayudar!!!
Contenido solo visible a usuarios registrados
Hola Aitz
Revisando los logs que genera la instalación veo el siguiente error que efectivamente viene del plugin MRW
PHP Fatal error: Uncaught Exception: Pedido no válido. in /home2/allonuga/public_html/nutriatlon.com/wp-content/plugins/woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php:137
Stack trace:
#0 /home2/allonuga/public_html/nutriatlon.com/wp-content/plugins/woocommerce/includes/class-wc-data-store.php(159): Abstract_WC_Order_Data_Store_CPT->read()
#1 /home2/allonuga/public_html/nutriatlon.com/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(130): WC_Data_Store->read()
#2 /home2/allonuga/public_html/nutriatlon.com/wp-content/plugins/woocommerce-mrw-carrier/woocommerce-mrw-carrier.php(1106): WC_Abstract_Order->__construct()
#3 /home2/allonuga/public_html/nutriatlon.com/wp-includes/class-wp-hook.php(326): mrw_add_meta_box()
#4 /home2/allonuga/public_html/nutriatlon.com/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#5 /home2/allonuga/public_html/nutriatlon.com/wp-includes/plugin.php(517): WP_Hook->do_action()
#6 /home2/allonuga/public_html/nutriatlon.com/wp-admin/includes/meta-boxes.php(1714): do_action()
#7 /home2/allonuga/public_html/nutriatlon.com/wp-admin/edit-form-advanced.php(271): register_and_do_post_meta_boxes()
#8 /home2/allonuga/public_html/nutriatlon.com/wp-admin/post.php(206): require('/home2/allonuga...')
Podemos probar una cosa pero aunque se solucione tienes que consultarlo con el soporte del plugin ya que al actualizar WooCommerce volveras a tener el mismo problema si no lo soluciona con alguna actualización del plugin de MRW.
.- Accede a tu cuenta de wePanel -> Administrador de archivos.
.- Accede a la carpeta donde tienes la instalación
.- Accede a wp-content -> plugins -> woocommerce ->includes ->data-stores y edita el archivo abstract-wc-order-data-store-cpt.php
.- Sobre la línea 135 tienes que tener el siguiente código:
if ( ! $order->get_id() || ! $post_object || ! in_array( $post_object->post_type, wc_get_order_types(), true ) ) {
throw new Exception( __( 'Invalid order.', 'woocommerce' ) );
}
.- Sustituye ese código por el siguiente:
if ( ! $order->get_id() || ! ( $post_object = get_post( $order->get_id() ) ) || ! in_array( $post_object->post_type, wc_get_order_types() ) ) {
return false;
throw new Exception( __( 'Invalid order.', 'woocommerce' ) );
}
Revisa si con eso se soluciona y nos comentas.
Nota: Antes de realizar la modificación recuerda descargar una copia del archivo.
Un saludo
@pepesoler nunca he tocado nada de esto. ¿Entiendo que si bajo el archivo y algo va mal se vuelve a subir? o ¿valdría con volver a cambiar ese trozo de codigo?
Hola Aitz
¿Entiendo que si bajo el archivo y algo va mal se vuelve a subir?
Exacto, antes de modificarlo descargas el archivo y si algo fuese mal lo vuelves a subir.
¿valdría con volver a cambiar ese trozo de código?
Si, tambien valdria.
.- Accede a tu cuenta de we Panel -> Administrador de archivos:
.- Accede a la carpeta public_html -> nutriatlon.com
.- Accede a la carpeta wp-content -> plugins -> WooCommerce -> includes ->data-stores
.- Con el boton de la derecha selecciona el archivo abstract-wc-order-data-store-cpt y pulsa el Editar:
.- Sustituye ese bloque por el que te indique antes:
Un saludo
@pepesoler Hola!, he hablado con MRW y segun ellos el problema lo habían corregido en la versión del plugin que se supone que tengo instada. Son muy pesados y lentos (a ver que me contestan) al decirles que si, que es esa versión del plugin la que me da el problema. ¿Ves posible desistalar y volver a instalarlo?¿podria funcionar? o es evidente que no?
Hola Aitz,
Si el error están en el propio plugin no se modificará nada, ten en cuenta que se subirán los mismos archivos de la misma versión que entiendo tienes ahora. Sin embargo has probado realizar las modificaciones que comenta Pepe? es posible que con ello funcione de forma correcta.
Un Saludo
@karen Hola!!. Por lo pronto lo desistale ya que la solucion que dieron fue la de elimanarlo e instalar la version que ya tenia. Así termino de ajustar todos los productos y luego lo instalare (según me indiquen o ajustando como me decis). Son demasiado lentos (es evidente que no son webempresa).
Os mantengo informados. Muchas gracias
Hola Aitz.
Ok, dejo el hilo abierto por si necesitas retomarlo.
Un saludo
Hola me han contestado, pero me piden (a ver si podéis ayudarme porque no sé cómo es). Necesitan accceso (algo que no me agrade pero bueno):
-
MUCHAS GRACIAS!
Hola Aitz,
En este caso están solicitando acceso a la gestión de tu sitio web, para enviarles por ejemplo el acceso de la administración de tu sitio web puedes probar, crearle por ejemplo este tipo de accesos que mencionan en el siguiente artículo que tenemos disponible → https://www.webempresa.com/blog/acceso-temporal-wordpress-para-tecnicos-desarrolladores.html
Por otro lado, una cuenta FTP les va a permitir a los archivos de tu sitio web dentro del servidor, crea una cuenta para ellos es bastante sencillo desde tu cuenta de hosting, para ello puedes seguir la siguiente guía que tenemos disponible → https://guias.webempresa.com/preguntas-frecuentes/crear-cuentas-ftp/
Sobre el acceso a la base de datos, debes evaluar como brindarlo, ten en cuenta que el acceso directo a PHPmyadmin es con https://tudominio.com:2083/tucuenta/phpMyAdmin/index.php ( domain.com sustituir por el dominio real)
Ten en cuenta que es posible que necesites habilitar cierto acceso para esto, puedes por ejemplo leer la siguiente guía donde explican el proceso → https://guias.webempresa.com/preguntas-frecuentes/acceso-externo-mysql/
Verifica estas opciones y nos comentas como va todo
Un Saludo
Hola equipo!. Les facilité todos los datos a MRW tal y como me indicasteis. Me reservé el tema de la base de datos porque no quería darles acceso. Al final me comentan que el problema era que el plugin está preparado para el "almacenamiento de pedidos de alto rendimiento" pero que tengo marcado "almacenamiento de entradas de word press". Me indican que debo cambiarlo o instalar una versión anterior del plug-in. PERO NO SE CAMBIAR ESTO. No me da la opción de clicar en la de alto rendimiento. ¿Es en otro lugar? Muchas gracias
Hola Aitz
.- Accede a WooCommerce -> Ajustes -> Avanzado y selecciona Características:
Un Saludo
muchas gracias, ya vi que no me dejaba porque tenía que sincronizar.
Tema resuelto!!!
Hola Aitz,
Enhorabuena has logrado solucionar lo que necesitaba, es un placer para nosotros siempre poder ayudarte.
No dudes en escribirnos si tienes cualquier otra consulta.
Un Saludo 😊