Cómo actualizar a WooCommerce 2.1.0 y no morir en el intento

  • WooCommerce - Blog

Cómo actualizar a WooCommerce 2.1.0 y no morir en el intento

Tras haber perdido un buen puñado de horas en conseguir que tanto nuestros plugins como nuestras tiendas sean completamente compatibles con WooCommerce 2.1.0, os vamos a dar algunas de las soluciones a los muchos problemas con los que nos hemos topado:

1.- El primer problema con el que os vais a topar es que el idioma español no funciona, y aunque la solución es realmente simple, os vais a topar con un segundo problema, faltan un montón de frases por traducir, lo cual no resulta ninguna novedad. Dicen que para la próxima versión 2.1.1 se arreglará el primer problema, del segundo ya ayudaremos con las traducciones en la localización oficial de WooCommerce en Transifex. Para solucionarlo tendréis que tirar de un gestor FTP, ir a la ruta /wp-content/plugins/woocommerce/i18n/languages/ y allí renombrar los archivos:

  • woocommerce-admin-es.mo a woocommerce-admin-es_ES.mo.
  • woocommerce-admin-es.po a woocommerce-admin-es_ES.po.
  • woocommerce-es.mo a woocommerce-es_ES.mo.
  • woocommerce-es.po a woocommerce-es_ES.po.

2.- Una vez solventado el primer problema, vamos a arreglar el segundo con el que nos vamos a encontrar, y, mira por donde, es provocado por un script de APG. Si usaste el código que publicamos en ¿Como forzar a WooCommerce a no cargar su lightbox?, ya puedes volver a visitarlo y arreglar el problema con el nuevo código que hemos actualizado. El problema consiste en que no se cargaba correctamente la hoja de estilo del panel de administración de WooCommerce.

3.- El tercer problema con el que te vas a encontrar es el/los menú/s. Dado que WooCommerce 2.1.0 borra algunas páginas innecesarias, tendrás que quitarlas de tus menús para evitar que aparezcan enlaces vacíos.

4.- Dado que se han borrado algunas páginas, WooCommerce 2.1.0 crea unos nuevos enlaces permanentes, los cuales puedes editar en:

  • WooCommerce -> Ajustes -> Finalizar compra: para las páginas necesarias para finalizar la compra.
  • WooCommerce -> Ajustes -> Cuentas: para las páginas necesarias para editar las direcciones, ver pedidos…

Es importante, una vez que creado tus propias rutas, que vayas a Ajustes -> Enlaces permanentes y pulses el botón de Guardar cambios. En caso de que utilices algún tipo de plugin tipo Rewrite para editar tus propios enlaces permanentes, tampoco olvides refrescar y guardar de nuevo los datos si no quieres llevarte algunas desagradables sorpresas en forma de errores 404.

5.- Si usas WordPress SEO by Yoast, y tu tienda no está configurada en la página de inicio, verás que el título desaparece, y no hay forma de que aparezca, así que, hasta que arreglen el problema, vamos a tener que tirar del archivo functions.php de tu plantilla o del hijo de esta, y vamos a añadirle una simple función PHP:

//Arreglo el título de la tienda
function procesa_el_titulo( $titulo ) {
	if ( is_shop() ) {
		$titulo = "Tienda " . $titulo;
	}
	return $titulo;
}
add_filter( 'wpseo_title', 'procesa_el_titulo' );

En lugar de Tienda, puedes poner el título que necesites. Un arreglo limpio, simple y sencillo.

6.- Hemos dejado para el sexto y último lugar lo que, sin lugar a dudas, es un auténtico infierno, la plantilla. En este apartado nos hemos encontrado de todo:

  • La plantilla no carga y devuelve una página en blanco: los motivos son muchos, pero en nuestro caso nos encontramos con que algunas plantillas reescribían clases de widgets de WooCommerce que han dejado de existir en esta nueva versión, por lo que debéis eliminar todo aquel código de vuestra plantilla que llame a clases del estilo de WC_Widget_Best_Sellers, WC_Widget_Featured_Products o WC_Widget_Random_Products, por poner tres ejemplos de clases desaparecidas.
  • La hoja de estilo es distinta: Si tu hoja de estilo se ha vuelto loca tras actualizar, es debido a que WooCommerce 2.1.0 carga por defecto sus propias hojas de estilo, y ya no da posibilidad de deshabilitarlas desde los Ajustes, pero se puede hacer añadiendo una simple línea en el archivo functions.php:
add_filter( 'woocommerce_enqueue_styles', '__return_false' );

De todas formas vamos a tener que hacer ajustes en nuestra hoja de estilo casi con total seguridad, así que ármate de paciencia.

  • Los productos variables no se añaden al carro de la compra: el problema radica en un archivo de tu plantilla que se sitúa en /wp-content/themes/tu-plantilla/woocommerce/single-product/add-to-cart/variable.php, así que bórralo y verás que todo vuelve a la normalidad. Si tienes los conocimientos suficientes, puedes editarlo comparándolo con el nuevo archivo que puedes encontrar en /wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php. ¿Te atreves?
  • No aparece el botón de comprar en la cesta de la compra: el problema radica en el archivo /wp-content/themes/tu-plantilla/woocommerce/cart/cart.php de la plantilla, el cual puedes reemplazar por el original que se encuentra en /wp-content/plugins/woocommerce/templates/cart/cart.php, o bien añades el botón manualmente:
  • <input type="submit" class="checkout-button button alt wc-forward" name="proceed" value="<?php _e( 'Proceed to Checkout', 'woocommerce' ); ?>" />
    

    Aunque a buen seguro que nos hemos encontrado con algunos problemas más, dado que ahora mismo no recordamos más, cerramos la entrada y la iremos actualizando según nos encontremos con más problemas, que a buen seguro aparecerán.

    Esperamos que os ahorremos algunas horas de trabajo con este tutorial improvisado y esperamos vuestras propias soluciones para ayudar a nuestros muchos lectores.

    2017-03-27T18:07:34+02:00 martes, 11 de febrero de 2014|Categorías: Art Project Group|Etiquetas: , , , , , , |19 comentarios

    19 Comentarios

    1. Juan Carlos Parra miércoles, 12 de febrero de 2014 en 10:23- Responder

      Increíble la de problemas que ha traído esta actualización. Si lo llego a saber no actualizo.

      Errores por todos lados, cambios de las fichas de los productos (ni desactivando el css que comentas se arregla), y con 2 errores que me salen y no sé cómo solventar:

      Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘wc_setup_product_data’ was given in /home/xxxx/public_html/paleteros.es/wp-includes/plugin.php on line 507

      Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘woocommerce_reset_loop’ was given in /home/xxxx/public_html/paleteros.es/wp-includes/plugin.php on line 507

      Ya ves que mi web es Paleteros.es por si quieres ver todo desconfigurado.

      • Art Project Group miércoles, 12 de febrero de 2014 en 11:15- Responder

        Bienvenido al club 😉

        El primer error viene dado por una vieja función Woocommerce->setup_product_data o $woocommerce->setup_product_data que ha sido cambiada por la que indicas, así que busca en tu plantilla a ver lo que encuentras, aunque mucho nos tememos que en ambos casos es un error de alguno de los plugins que tienes activados para WooCommerce.

        En el segundo caso la función nueva es exactamente igual a la anterior, salvo que ha cambiado el nombre de uno de los registros del array, donde antes limpiaba $woocommerce_loop['column'], ahora limpia $woocommerce_loop['columns'], así que tendrás buscar referencias a los mismos, aunque te adelantamos que en la nueva versión aparece en un montón de funciones, concretamente en los archivos /woocommerce/includes/wc-template-functions.php y /woocommece/includes/class-wc-shortcodes.php, por si te sirve de referencia.

        Para los errores que te vayan surgiendo, un truco, busca lo que te provoca el error en el código fuente de WooCommerce, analiza su código y busca referencias al mismo en tu plantilla y plugins.

        • Juan Carlos Parra miércoles, 12 de febrero de 2014 en 11:22- Responder

          Lo que me parece más raro es que me acabo de bajar la nueva plantilla del theme (con lo cual vuelta a modificar mil cosas), y dicen que la tienen actualizada a la nueva versión de woocommerce. Es cierto que algunos fallos los tengo corregidos, pero esos dos errores no se van y deberían de hacerlo 🙁

          A seguir investigando!!!

    2. Jeisson Cortés miércoles, 12 de febrero de 2014 en 19:11- Responder

      Excelente amigo, pude dejar varias tiendas que administro funcionando otra vez. Gente como tu es que hace la diferencia. No te imaginas de las que me salvaste.

      Acá dejo mi web por si alguien necesita una mano.

      http://www.soportecnicoweb.com

    3. krustoff viernes, 14 de febrero de 2014 en 23:10- Responder

      pues yo sigo sin poder hacer que mis productos variables se agreguen al carrito…

    4. Rubén miércoles, 26 de febrero de 2014 en 19:40- Responder

      Tengo un montón de problemas con las nuevas versiones de woocomerce a partir de la 2.1.0… ¿Conocéis algún tutorial de cómo volver a versiones anteriores? Los problemas que tengo ahora mismo son los siguientes.

      · Cuando entro a la tenda me sale un menú abajo a la izquierda, dónde debería haber un índice de productos.
      · En las fotos de productos me han desaparecido los botones de previous y back.
      · Cuándo valido el carrito, me aparece éste error en la parte inferior de la página:

      Fatal error: Call to undefined method WC_Shipping::get_available_shipping_methods() in /homepages/31/d472270319/htdocs/shop/wp-content/themes/black-duck/woocommerce/checkout/review-order.php on line 14

      No tengo ni idea de cómo solucionar esto… ¡A ver si me podéis echar un cable!
      He puesto mi web en la info de usuario, por si queréis echarle un vistazo. Muchas gracias.

      • Art Project Group miércoles, 26 de febrero de 2014 en 20:40- Responder

        El problema lo tienes en tu plantilla y tendrás que retocar su código.

    5. Nieves lunes, 17 de marzo de 2014 en 13:12- Responder

      Hola! al actuaizar woocomerce ahora los productos variables con el mismo precio no muestran el precio cuando eliges una opcion. sabeis como puedo modificarlo? Estoy harta ya!!! VAya actualización.

    6. Antonio Domval viernes, 2 de mayo de 2014 en 21:41- Responder

      A mi lo que me pasa es que al darle a finalizar compra después de aceptar las condiciones, no hace nada , el sistema se queda colgado, recibo el pedido en el panel de administración, pero no envia los mails de confirmación a cliente ni administrador y no muestra la pagina resumen de pedido…

      Que puede ser, saludos

      • Art Project Group sábado, 3 de mayo de 2014 en 11:36- Responder

        Por lo que vemos estás utilizando WooCommerce 2.0.16, así que difícilmente te podemos decir algo.

        En principio, lo más probable es que no hayas configurado bien el campo Términos y condiciones que se encuentra en WooCommerce -> Finalizar compra.

        Aún así te recordamos nuestro servicio de Ticket de soporte.

        Un saludo y mucha suerte.

    7. Enric martes, 29 de julio de 2014 en 16:54- Responder

      Ciertamente en mala hora actualice el plugin. A mi me cargan los productos en el carrito, pero a la hora de hacer el pedido y poner los datos del comprador es imposible prosperar mas allá.

    8. Cristina domingo, 14 de septiembre de 2014 en 19:03- Responder

      Hola… Tengo un problema con el WooCommerce 2.1.12 que no se como solucionarlo.
      Con la versión que tenía antes no tenía ese problema…
      El tema es que cuando un cliente hace un pago con Paypal, es como que PayPal no comunica a la web que ha recibido ese dinero y deja el pedido cancelado.
      He visto que hay una actualización a la versión 2.2.2 pero me da miedo actualizarla y que no solo no se me resuleva ese problema sino que pase otra cosa con la plantilla, etc..
      Alguna sugerencia? Igual tengo mal configurado algo de PayPal… Ay… no se.
      Muchas gracias.

      • Art Project Group domingo, 14 de septiembre de 2014 en 19:27- Responder

        Puede ser eso, que esté mal configurado, o puede que sea algún otro plugin que le bloquea la notificación.

        Si necesitas ayuda, recuerda nuestra Ticket de soporte.

        Un saludo.

    9. Cristina domingo, 14 de septiembre de 2014 en 19:38- Responder

      Muchísimas gracias… Yo creo que si que está bien configurado… la verdad es que solo hay que configurar un par de campos.. no es tan complicado..
      Voy a probar con la nueva versión y quitando todos los plugins y si no funciona te pediré la consulta técnica… vale la pena… llevo toda la tarde con esto… argggg….

    10. josue miércoles, 26 de noviembre de 2014 en 21:48- Responder

      hola, mi problema es que no se actualiza el carrito y desde la pagina de producto no lo añade al carrito. Alguna idea de donde puede estar el problema? gracias!

      • Art Project Group miércoles, 26 de noviembre de 2014 en 21:52- Responder

        Pueden ser muchas cosas, pero prueba a deshabilitar Habilitar AJAX en los botones de añadir al carrito en los listados de producto en WooCommerce -> Ajustes -> Productos. Si no, recuerda nuestra Ticket de soporte.

        Un saludo.

    11. Ruben lunes, 18 de mayo de 2015 en 20:54- Responder

      Hola!
      Tenía un problema con los productos con variaciones y he buscado en mil sitios y nada. Ninguna solución.
      Ya casi desahuciado encuentro tu blog, sigo una simple indicación tuya y… solucionado!!!!
      A partir de éste momento soy tu fan Nº 1.
      Un saludo!!!
      P.D.: Si vives en Madrid te invito a unas cañas! 🙂

      • Art Project Group lunes, 18 de mayo de 2015 en 20:57- Responder

        Te tomamos la vez para cuando bajes a Málaga. Pero eso sí, mejor unos vinos 😉

        Nos alegra haberte servido de ayuda.

        Un saludo.

    Deje un comentario

    Comparte esto con un amigo