Cuando estoy logueado en el backend de mi WordPress e intento añadir por ejemplo un producto o una página me sale un error 500, :
Revisando los registros de errores, veo que se han producido algunos relacionados con el plugin woocommerce:
PHP Fatal error: Uncaught Exception: Pedido no válido. in /home/exonespe/public_html/wp-content/plugins/woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php:89
Stack trace:
#0 /home/exonespe/public_html/wp-content/plugins/woocommerce/includes/class-wc-data-store.php(147): Abstract_WC_Order_Data_Store_CPT->read(Object(WC_Order))
#1 /home/exonespe/public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(109): WC_Data_Store->read(Object(WC_Order))
#2 /home/exonespe/public_html/wp-content/plugins/woocommerce-mrw-carrier/woocommerce-mrw-carrier.php(447): WC_Abstract_Order->__construct(29692)
#3 /home/exonespe/public_html/wp-includes/class-wp-hook.php(300): mrw_add_meta_box('product')
#4 /home/exonespe/public_html/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters('', Array)
#5 /home/exonespe/public_html/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#6 /home/exonespe/public_html/wp-admin/edit-form-advanced.php(323): do_action('add_meta_boxes', 'product', Object(WP_Post)) in /home/exonespe/public_html/wp-content/plugins/woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php on line 89
la Web está configurada con versión de PHP 7.1, pero continua dando el mismo error
me dicen que puede ser un error del propio cms wordpress.
Alguien puede ayudarme para poder solucionarlo ? Muchas gracias de antemano.
URL del sitio: Contenido solo visible a usuarios registrados
Hola Lurdes.
Pues parece que puede ser problema con algún plugin que tienes instalado y no eres la primera a la que le ocurre -> https://wordpress.org/support/topic/fatal-error-uncaught-exception-exception-with-message-invalid-order/
La solución que proponen es modificar una linea en el archivo abstract-wc-order-data-store-cpt.php que encontraras en wp-content/plugins/woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php
Sobre la linea 89 tendrás algo como esto :
if ( ! $order->get_id() || ! ( $post_object = get_post( $order->get_id() ) ) || ! in_array( $post_object->post_type, wc_get_order_types() ) ) { throw new Exception( __( 'Invalid order.', 'woocommerce' ) ); }
Seria reemplazarlo por esto:
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' ) ); }
No lo probé por lo que te aconsejo que primero te descargues una copia del archivo antes de modificarlo por si tienes que volver a dejarlo como estaba.
Antes de todo esto revisa si tienes actualizaciones de woocommerce pendientes y si es así lo actualizas antes de realizar al modificación y compruebas si actualizando se soluciona.
Un saludo
Muchas gracias Pepe, voy a probarlo!!!