Diseño Web

Diseño Web, Gestores de contenidos

Activar y crear cupones descuento en WooCommerce

Cuando tienes una tienda online, el uso de los cupones de descuento es una gran herramienta para premiar clientes, corregir errores o realizar promociones. WooCommerce dispone de esta opción de serie, pero no está activada. Os enseñamos a activar los cupones y configurarlos. Activar y crear cupones en WooCommerce. Lo primero que tenemos que hacer es activar los cupones. Para ello vamos, en el backend, a WooCommerce>Ajustes>General y bajamos hasta la mitad. Ahí veréis la opción para activar los cupones y podéis elegir si queréis que se apliquen secuenciales (uno detrás de otro). Esta última opción es cosa vuestra (a gusto vuestro), pero tenéis que activar los cupones, la primera opción. Después tenemos que crear los cupones. Para ello refrescamos (F5) y veremos que nos aparece una opción de Cupones en el menú de WooCommerce. Vamos ahí y creamos el cupón deseado. Existen muchas opciones. Cupones de porcentaje, de cantidad en el producto, en el carrito, restricciones de uso por producto, categoría, usuario, restricciones de veces que se usa, fecha de caducidad….. Conviene que las recorráis y comprendáis las opciones. Lo que a mi me confundía la primera vez es que el título del cupón es lo que ellos tienen que poner o en el carrito o al realizar al compra. Y la descripción lo que queráis para saber vosotros que cupón es. Aquí tenéis el vídeo con las instrucciones. Nota: Han cambiado el menú de cupones. Ahora aparece en Marketing->Cupones

Diseño Web, Gestores de contenidos, Trucos

Prestashop error 500 al entrar en el backend

Ayer un cliente vació la caché de Prestashop y, tras ese cambio “inofensivo”, ya no era posible entrar en el backend. “La página ….. no puede procesar esta solicitud ahora. Http Error 500“. Os contamos cómo lo solucionamos, por si os sirve de ayuda. Prestashop. Error 500 en el backend. Solución. Obviamente este error puede deberse a un montón de cosas…. cada caso es un mundo. Pero os damos algún consejo que podéis probar. Primero os dejaremos la causa y solución en nuestro caso, por si alguien quiere ir “directamente a la solución“. El error en los logs mencionaba el fichero /var/cache/prod/ContainerPbimghi/appProdProjectContainer.php  como menciona también estos posts: http://forge.prestashop.com/browse/BOOM-4676   y  https://www.prestashop.com/forums/topic/842833-http-error-500-al-quitar-el-modo-debug/ Aunque ellos optaron por borrar (por FTP) todo el contenido de /var/cache/prod/ (haced una copia antes) nosotros sólo borramos el fichero en cuestión y se solucionó. Todo parece relacionado con la caché que no se vacía correctamente. Así que podéis optar por vaciarla a mano o quitar sólo el fichero que os da problemas. Por ello seguid estos consejos: Al backend podréis acceder si activáis el modo debug. Desgraciadamente si lo desactiváis y no borráis la caché por FTP, aparece el error de nuevo. Por qué en modo debug deja y en producción no….no se. A menos que en debug no use caché. Por cierto, a nosotros no nos salieron errores en debug. Borrar la caché de nuevo por backend y no hacerlo a mano no arregla el problema. Siempre es bueno, si tenéis acceso, mirar los logs de apache del servidor. Ya sea generales o para ese dominio. Os da una idea de lo que está pasando. Afortunadamente el frontend sigue funcionando. Los usuarios no lo notan. Así que resumen: Activad modo debug para poder Borrar la caché a mano por FTP. Desactivar el modo debug y ver que todo ok.  

Diseño Web, Gestores de contenidos, Trucos

Ocultar categorías y productos de ciertas categorías en la tienda de WooCommerce

En ocasiones queremos ocultar ciertas categorías del listado de categorías de WooCommerce, o productos de la tienda. Por ejemplo la categoría Sin Categoría, o ciertas subcategorías que quieras sólo para algún cliente. Hoy os dejamos unos códigos para hacerlo. Ocultar categorías y productos de ciertas categorías en la tienda de WooCommerce. Como no es una funcionalidad de WooCommerce, que sólo deja ocultar ciertos productos, tenemos que implementar código. Para ello, como siempre, podemos editar el fichero functions.php de nuestra plantilla, preferiblemente hija, o (mejor) poner un Snippet. Os vamos a dejar dos. El primero quita la categoría del listado de categorías y del menú de categorías (widget) de la tienda. Pero los productos siguen apareciendo. /** * @snippet Hide Products From Specific Category @ Shop * @how-to Watch tutorial @ https://businessbloomer.com/?p=19055 * @sourcecode https://businessbloomer.com/?p=572 * @author Rodolfo Melogli * @testedwith WooCommerce 3.1.2 */ add_action( ‘woocommerce_product_query’, ‘bbloomer_hide_products_category_shop’ ); function bbloomer_hide_products_category_shop( $q ) { $tax_query = (array) $q->get( ‘tax_query’ ); $tax_query[] = array( ‘taxonomy’ => ‘product_cat’, ‘field’ => ‘slug’, ‘terms’ => array( ‘ponerslugaqui’ ), // Category slug here ‘operator’ => ‘NOT IN’ ); $q->set( ‘tax_query’, $tax_query ); } Fuente aquí. Recuerda que tienes que poner el slug de la categoría donde pongo ponerslugaqui. El segundo código oculta los productos del listado de productos de la tienda. Pero no quita la categoría del listado de categorías o del widget de categorías. Así que, en mi opinión, lo más completo es implementar ambos en el mismo Snippet. /** * Show products only of selected category. */ function get_subcategory_terms( $terms, $taxonomies, $args ) { $new_terms = array(); $hide_category = array( XXX ); // Ids of the category you don’t want to display on the shop page // if a product category and on the shop page if ( in_array( ‘product_cat’, $taxonomies ) && !is_admin() && is_shop() ) { foreach ( $terms as $key => $term ) { if ( ! in_array( $term->term_id, $hide_category ) ) { $new_terms[] = $term; } } $terms = $new_terms; } return $terms; } add_filter( ‘get_terms’, ‘get_subcategory_terms’, 10, 3 ); Fuente aquí. Tenéis que poner el número de categoría donde pongo XXX. Si dais a editar a la categoría, el ID aparece en la url. Con esto veréis como podéis elegir qué categorías o productos de las mismas aparecen en vuestra tienda.

Diseño Web, Gestores de contenidos, Trucos

Personalizar los campos obligatorios del checkout o compra de WooCommerce

Cuando vas a comprar en Woocommerce hay ciertos campos de registro obligatorios para realizar el checkout. Hoy os enseñamos cómo modificar dichos campos. Personalizar los campos obligatorios en el checkout de WooCommerce. Como viene siendo habitual, os dejamos dos maneras de hacerlo: Con plugins. Os dejamos tres de los más usados. El modo de hacerlo es similar en los tres. Escogemos la sección y ahí decidimos qué campos queremos que sean obligatorios. En alguno tienes que crear el campo  y luego definir su obligatoriedad o no. –Flexible Checkout Fields for WooCommerce– WooCommerce Checkout Manager– Checkout Field Editor (Checkout Manager) for WooCommerce   Aquí os dejamos cómo usar el primero. Puedes modificar los campos a través de un plugin o poniendo código en functions.php o en un Snippet. Personalmente creo que para este caso es mejor usar plugins, pero por si lo necesitas, aquí lo tienes.La información la tienes en este artículo de WooCommerce. Vas a tener que “jugar” un poco hasta encontrar los campos que quieres y cómo modificarlos, pero te dejamos un par de ejemplos de gente que lo ha hecho para que veas el código.   – Ejemplo de poner campos como obligatorios y quitar otros.– Deshabilitar la validación de campos (no se si es necesario). Ejemplo de Snippets.

Diseño Web, Gestores de contenidos, Prestashop, Trucos

Hacer que las páginas de producto empiecen arriba en Prestashop

Hace unos días un cliente os comentó que los usuarios se quejaban porque al pinchar en la paginación de Prestashop, la nueva página se cargaba en la parte inferior y no al comienzo. Eso les obligaba a hacer scroll hasta arriba. Os dejamos la solución. Tenéis dos maneras de solucionarlo. Botón Volver Arriba. En móviles Prestashop pone un botón de volver arriba. En escritorio lo esconde, pero podéis activarlo por CSS haciendo esto: .hidden-md-up.text-xs-right.up {display:block!important;} Esto debía ser suficiente … pero no lo era para los usuarios de nuestro cliente. Así que tuvimos que desarrollar una segunda opción. Hacer que cada página se cargue automáticamente al principio. Lo que vamos a incluir es un JQuery para que cuando pulse en la paginación, la siguiente carga comience al principio. Tras probar varios, el código lo encontramos aquí. Es el siguiente: $( ‘#products’ ).on( ‘click’, ‘.js-search-link’, function( event ) { var target = $( “#header” ); if ( target.length ) { event.preventDefault(); $( ‘html, body’ ).animate( { scrollTop: target.offset().top+300 }, 1000 ); } }); Se puede poner en varios sitios, pero nosotros lo pusimos al final del fichero  /themes/core.js Como veis, lo que hace es que cuando pinches en la clase .js-search-link hace un scrollTop hasta el principio. Funciona muy bien en modo desktop y tablet, en móviles después del la cabecera vienen los menús, así que tienes que bajar un poco más. Lo ideal sería que subiera a un anchor. Si lo modificamos lo colgaremos aquí.

Diseño Web, Trabajos, Webs

Nueva web: alanorrwingchunacademy.com. LMS con tienda y suscripciones semanales y mensuales

Os presentamos otro de los proyectos en los que llevamos trabajando desde el verano:  alanorrwingchunacademy.com . Una academia online de Wing Chun con muchas funcionalidades. Esta página tiene varias secciones: Por un lado es un LMS, una plataforma de aprendizaje online. Con gestión de alumnos, profesores, módulos, cursos, ejercicios, foros y mucho más. Por otro lado dichos cursos, y otros productos, se pueden vender a través de la tienda online, con pagos vía Paypal, productos individuales, combinaciones de cursos y “bundles”. Cada producto da derecho al acceso a uno o varios cursos. Y por último el usuario también puede acceder a la web a través de suscripciones de diferente duración, que también da acceso a contenido de blog y de cursos. El proyecto ha sido divertido, y sobre todo trabajoso porque partíamos de una web “hecha a mano” difícil de tratar y sin información previa para exportar contenido. Hemos aprendido mucho y esperamos os guste el resultado.  

Diseño Web, Gestores de contenidos, Trucos

User Switching: plugin de WordPress para acceder a la web como un usuario

Hoy os dejamos un plugin que para un usuario o dueño de página web puede no ser útil, pero que para los desarrolladores de páginas multiusuario es una maravilla. Plugin de WordPress para acceder como otro usuario. User Switching te permite, si eres administrador, acceder y ver la web como si fueras otro usuario. De esta manera, puedes comprobar que tiene los permisos adecuados, que puede ver o no ver las partes que debería. Es decir iniciar sesión como un usuario. También es muy útil cuando una web está en producción para poder resolver incidencias. Cuando un usuario se queja de algo, podemos acceder como ellos y comprobar exactamente qué le ocurre. Como digo, una maravilla para cualquier desarrollador web. Prestashop lo tiene de serie y lo echábamos de menos en WordPress. Para usar el plugin, una vez instalado, sólo tendremos que ir a Usuarios, buscar el que queremos y pinchar en la opción Switch to que aparece al posicionar el cursor encima de su nombre. Esto nos llevará a la web como dicho usuario. No necesitamos ni saber ni cambiar la contraseña del usuario en cuestión. Cuando hayamos acabado, sólo tenemos que bajar a fina de la pantalla donde veremos una opción de cambiar de vuelta a nuestro usuario administrador. También está  la opción en el menú de usuario de WordPress. El plugin es seguro, usa el sistema de cookies y no revela contraseña. Sólo pueden usarlo aquellos que puedan editar otros usuarios. Lo dicho….encantados con este descubrimiento que nos ahorra tener que abrir sesiones desde incógnito.

Diseño Web, Gestores de contenidos

Solución si tu web de WordPress no es compatible con el editor Gutenberg

La nueva versión de WordPress, la 5.0, trae cambio de editor, Gutenberg, que será “chachi” y “muy molón” con novedades etc etc. PERO, mucha gente tiene todavía plantillas y plugins que no van a ser compatibles.  Y quitan el editor antiguo, son lentejas. Inmediatamente mucha gente pensará en no actualizar. MALA idea. WordPress es el gestor de contenidos más usado, y el más atacado. Hay que tenerlo actualizado. ¿Entonces que hago? Hoy te contamos la solución. Solución si tu web de WordPress no es compatible con el editor Gutenberg Lo primero que tienes que ver es si tu web es o no compatible. No te queda más remedio que probarlo. Obviamente hacer esto en producción es una locura. Lo lógico es crearse un servidor en tu ordenador, en una máquina virtual, o en otro directorio de tu servidor, clonar la web  probar a actualizar. Si no es compatible, no te preocupes. Afortunadamente WordPress a sacado este plugin llamado Classic Editor, que restaura todas las funcionalidades del “viejo” editor. Esto hace que puedas funcionar con WordPress 5 como antes. De esta manera, tenemos un tiempo para hacer nuestra web compatible con Gutenberg. Por defecto el plugin deshabilita Gutenberg. Pero también tiene un modo mixto en el que puedes elegir qué editor (nuevo o viejo) usar, para aquellas páginas que funcionen salvo en algunos apartados. Así que tranquilo, actualiza y trabaja como antes. Pero ve pensado en renovar plugins y tema.  

Diseño Web, Gestores de contenidos, Trucos

Marcar pedidos como Completados automáticamente en WooCommerce

Por defecto, cuando se realiza un pago de un pedido en WooCommerce este no aparece como completado sino como En Espera o “Procesando“.  Hoy te enseñamos a poner los pedidos como Completados automáticamente, una vez se hayan pagado. Cómo marcar los pedidos como Completados automáticamente en WooCommerce. WooCommerce considera que, tras el pago de un pedido, se debe realizar un proceso previo antes finalizarlo. Por ejemplo empaquetarlo o enviado. Por lo tanto, cuando un cliente realiza el pago, el estado pasa a Procesando y es el dueño de la tienda el que tiene que cambiarlo al siguiente estado. Sólo en los casos en los que el producto sea virtual y descargable (ambas opciones a la vez), WooCommerce completa los pedidos. Pero claro, esto puede no ser muy deseable para muchas tiendas online. Aquellas que tengan productos virtuales, las que sean aulas online y muchas otras, pueden querer que el pedido se procese tras el pago y el cliente tenga directamente acceso a lo que ha pagado. Sin tener que esperar a que el dueño de la tienda se lo apruebe. Os dejamos dos maneras de hacerlo: Con plugins. Tienes un plugin de pago, Order Status Control, pero también tienes alguno gratuito como Autocomplete WooCommerce Orders. Nosotros hemos probado este último y va genial. Puedes poner que se autocompleten los productos virtuales, o cualquier producto que se pague (nosotros probamos esta opción), o todos los productos independientemente de su pago (no recomendable). Con código. De nuevo puedes ponerlo en el functions.php de tu plantilla hija o en un plugin como Code Snippets. Los códigos te permiten más personalización como elegir el método de pago o el estado final. He encontrado varios y os los dejo para probar. –WooCommerce propone este: /** * Auto Complete all WooCommerce orders. */ add_action( ‘woocommerce_thankyou’, ‘custom_woocommerce_auto_complete_order’ ); function custom_woocommerce_auto_complete_order( $order_id ) { if ( ! $order_id ) { return; } $order = wc_get_order( $order_id ); $order->update_status( ‘completed’ ); } /** * Auto Complete all WooCommerce orders. */ add_action( ‘woocommerce_thankyou’, ‘custom_woocommerce_auto_complete_order’ ); function custom_woocommerce_auto_complete_order( $order_id ) { if ( ! $order_id ) { return; } $order = wc_get_order( $order_id ); $order->update_status( ‘completed’ ); } –Aquí podéis ver este donde podéis elegir el método de pago. // Actualiza automáticamente el estado de los pedidos a COMPLETADO add_action( ‘woocommerce_order_status_processing’, ‘actualiza_estado_pedidos_a_completado’ ); add_action( ‘woocommerce_order_status_on-hold’, ‘actualiza_estado_pedidos_a_completado’ ); function actualiza_estado_pedidos_a_completado( $order_id ) { global $woocommerce; //ID’s de las pasarelas de pago a las que afecta $paymentMethods = array( ‘bacs’, ‘cheque’, ‘cod’, ‘paypal’ ); if ( !$order_id ) return; $order = new WC_Order( $order_id ); if ( !in_array( $order->payment_method, $paymentMethods ) ) return; $order->update_status( ‘completed’ ); } – Y este otro artículo da varias opciones. Los estados de los pedidos por defecto los puedes ver entrando en un pedido y pinchando en el desplegable de estados o en la configuración de WooCommerce en los Emails. Pero son:   Cancelado (Cancelled). Fallido (Failed). Completo (Completed). Pendiente  (Pending payment). Procesando (Processing). En espera (On hold). Reembolsado (Refunded)

Diseño Web, Gestores de contenidos, Trucos

Cómo añadir código personalizado en WordPress. Plugin Code Snippets

Tu web es diferente a las demás, y seguramente requerirá algún comportamiento único. Esto se puede hacer por plugins, pero si es algo más concreto requiere código personalizado. Hoy os enseñamos a añadir dicho código en tu página de WordPress. Cómo añadir código personalizado en tu página de WordPress. Hay tres maneras lógicas de hacerlo: Añadir el código en el fichero functions.php de tu plantilla. Para eso está ese fichero, para las funciones que necesite la plantilla, y las adicionales que quieras tú. PERO (y es un gran pero), sólo lo recomendamos en el caso que hayas creado un tema hijo. Porque si lo añades en tu plantilla “padre”, y la actualizas, lo más seguro es que pierdas las modificaciones realizadas. Con un plugin para añadir código. El más famoso es Code Snippets y se lo ha ganado. Este plugin te permite añadir pequeños códigos (snippets) que puedes activar, desactivar, editar, añadir y borrar a tu antojo. Estos snippets funcionan como si los hubieras añadido al fichero functions.php. Pero además añade varias ventajas muy a tener en cuenta. -La primera es que si cometes un error de código no rompes la página entera (como ocurriría editando el fichero functions), sino que el plugin te avisa del error, de la línea, y desactiva el snippet. – La segunda es que puedes decidir el ámbito de aplicación del código: en toda la web, sólo en el backend, ejecutarlo sólo una vez…. – Para mi es excelente poder activar y desactivar códigos para poder hacer pruebas. – Además puedes poner descripción y etiquetas a tu código para poder saber lo que hace cuando haya pasado un tiempo, o para que lo lea otro desarrollador. – Los snippets se puede exportar y importar entre sitios. – No tienes que añadir tags como los de php, pero si se te olvida y los pones el plugin se encarga de quitarlos. Crear tu propio plugin. Otro día hablaremos de ello. Así que, si no quieres complicarte mucho, y no quieres que tu código dependa del tema, instala Code Snippets y a añadir código. Nosotros lo usamos para php pero puedes poner html, css javascript….lo que quieras.    

Scroll al inicio