Gestores de contenidos

Diseño Web, Gestores de contenidos

Cómo activar las Notificaciones Push en WordPress

¿Qué son las Notificaciones Push? Son esos avisos que te salen al entrar en una página web para Aceptar o Bloquear.  Si los aceptas, la página podrá mandarte avisos a través del navegador con noticias, nuevos posts, novedades etc. Es decir, es un método de comunicación entre una web y un usuario directamente en el navegador (algo que se usa constantemente), sin tener pop-ups  no deseados (estas las aceptas o bloqueas) ni correo spam. Hoy os enseñamos a activarlo en WordPress. Cómo activar las Notificaciones Push en WordPress. Lo primero es elegir un plugin para mandar esas notificaciones. Hay muchas opciones, tanto gratuitas como de pago. Os comentaremos las gratuitas y sus pros y contras. OneSignal. Teníamos que incluirlo el primero. Es sin duda el que da más opciones de maneraa gratuita, y uno de los más usados. De hecho explicaremos el proceso con este plugin. Pros: La cuenta gratuita no tiene límite de suscriptores (en algunas partes pone sin límite para móvil y 30.000 para web) ni límite de notificaciones. Esta es una GRAN ventaja ya que la competencia suele limitar alguna de estas opciones. Una cuenta se puede usar para varias webs. Cons: ¿Cuál es el truco? OneSignal vende los datos recopilados cuando usas su cuenta gratuita. Así lo mantiene y es su modelo de negocio, lo expone claramente: “Data from free plan users may be shared with advertising and research partners to help cover the cost of providing this service.” Esto implica que tendrás, si aceptas usar la gratuita, que cambiar tu política de privacidad para reflejar esta cesión. Si quieres usar la de pago, no ceden datos (en teoría) pero tiene límites. SendPulse.  Sin límite de suscriptores. Sin límite de notificaciones. También pueden ceder información a terceros y añadir publicidad suya en tus notificaciones en la cuenta gratuita. PushEngage: El gratuito permite 2500 suscriptores sin límite de envíos. Push Notifications for WordPress Lite: 1000 notificaciones por plataforma (iOS, Android etc) por cada post. PushMonkey: Hasta 100 suscriptores. El segundo paso sería configurar el plugin. Vamos a usar OneSignal como ejemplo. Descargamos e instalamos el plugin elegido. Creamos una cuenta en OneSignal. Pinchamos en Add App y ponemos un nombre. Por ejemplo el de la web. Elegimos el tipo de plataforma (Web Push en este caso). Configuramos el tipo de Web Push. En este caso elegimos WordPress como tipo de web y WordPress como CMS. Configuramos los datos de nuestra web. Una vez hecho esto obtendras un  APP ID y un API KEY. Cópialos. Ve a WordPress, a la configración del plugin y pega ahí estos datos. Con esto se activan las notificaciones para Chrome y Firefox. Ahora vuele al panel de OneSignal y verás que en la App de deja activar Safari. Hazlo, pon la configuración  te da un Web ID. Vuelve al plugin y pone el Web ID debajo de los IDs anteriores para activar Safari. Ahora en el plugin configura las opciones. Sugerimos activar la opción “Automatically prompt new site visitors to subscribe to push notifications”  para que avise a cada usuario nuevo para que se suscriba. Y también la de las notificaciones automáticas cada vez que publicas un post para que tus suscriptores reciban las noticias. Con esto ya lo tienes. Pruébalo y a comunicarte con tus usuarios. Recuerda que desde Messages del panel de OneSignal puedes mandar mensajes a tus suscriptores (con noticias).

Gestores de contenidos, Prestashop, Trucos

Prestashop: backend va lento o no puedes acceder. Solución

Estos días muchos de nuestros clientes con Prestashop han tenido el mismo problema. O lentitud (enorme) en el backend, o directamente no podían entrar en él (rueda girando indefinidamente tras pinchar en acceder). Obviamente todos pensamos en los hosting y hemos perdido mucho tiempo intentando depurar el problema. Pero la causa era otra. Parece ser que Prestashop usa servidores externos cuando ciertos módulos o addons están activos. Estos módulos estaban colapsados y esto provocaba la lentitud o la imposibilidad de acceso. Os decimos cómo solucionarlo. Solución a backend lento o a no poder acceder por los problemas de addons externos. La solución varía dependiendo de la versión de Prestashop. En Pretashop 1.6: hay que desactivar el módulo gamification. Pero no vale hacerlo desde el backend (y si no puedes acceder peor jejeje). Hay que cambiar el nombre de la carpeta  /modules/gamification  Con esto verás como ya puedes acceder a tu backend y va muy rápido. En Prestashop 1.7:  no hay módulo, hay que modificar unos ficheros. Podéis ver la solución propuesta por Prestashop aquí pero consiste en: – Editar el fichero classes/Tools.php y cambiar la línea : protected static $is_addons_up = true;  a protected static $is_addons_up = false; – Editar el fichero src/Adapter/Addons/AddonsDataProvider.php  y cambiar la línea: protected static $is_addons_up = true; a protected static $is_addons_up = false; Con esto debería estar arreglado. Nota: hay quien recomienda borrar el fichero config/xml/default_country_modules_list.xml. Si no te funciona prueba con eso, aunque nosotros no lo hemos necesitado.

Diseño Web, Gestores de contenidos, Prestashop

Prestashop: mostrar las variables y valores que llegan a un tpl en Smarty con debug

Cuando tienes que modificar ficheros tpl en Prestashop, muy a menudo necesitas saber qué variables le llegan desde Smarty (no las de la plantilla). Porque existen unas variables globales y otras que llegan a cada plantilla (diferentes a cada una). Si no pierdes mucho tiempo “probando”. Cómo mostrar las variables y valores que llegan a un tpl en Smarty. Esto para nosotros ha sido “un descubrimiento”.  Sólo tienes que poner {debug} en la plantilla tpl que quieras “evaluar”. Después de poner ese código, recarga la página. El código va a producir un pop-up, así que comprueba que el navegador no te lo está bloqueando. Cuando lo activas, saldrá un pop up como el de la imagen con las variables buscadas y sus valores. Con eso sólo tienes que programar lo que necesites. Esto es muy útil para programar cambios, pero también para hacer “debug”, es decir para ver por qué falla alguna cosa. Las de la plantilla puedes obtenerlas con getTemplateVars. Por ejemplo con: $all_tpl_vars = $smarty->getTemplateVars(); var_dump($all_tpl_vars);

Diseño Web, Gestores de contenidos, Trucos

Woocommerce: cómo editar varios productos a la vez. Asignar la misma categoría a muchos productos.

En ocasiones queremos hacer cambios a muchos productos en Woocommerce. Por ejemplo para cambiarles de categoría. ¿Es necesario hacerlo de uno en uno? La respuesta es no. Hoy os enseñamos a editar productos en grupo en Woocommerce. Cómo editar varios productos a la vez en Woocommerce. Podemos editar varios productos a la vez en Woocommerce. Para ello tenemos que irnos a Productos en el backend, y marcar los que queremos editar. Después tenemos que ir al desplegable que pone Acciones en lote y elegir Editar. Se os abrirá una nueva ventana con un pequeño editar y todos los posts marcados. Ahí podréis hacer cosas como cambiar de categoría, cambiar el precio y alguna cosa más. No se puede hacer todo, es una edición limitada, pero si alguna cosa muy útil. Nosotros lo hemos necesitado cuando teníamos que “mover” productos a otras categorías. Aquí os mostramos cómo:  

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

Prestashop: el archivo es demasiado grande. Configurar el tamaño de subida de archivos

En ocasiones, sobre todo si tienes imágenes grandes, puedes recibir un error de “el archivo es demasiado grande”. Os enseñamos a modificar el tamaño de subida en Prestashop. Cómo configurar el tamaño de subida de archivos en Prestashop. Este error se puede deber a dos causas: a) configuración de Prestashop y b) configuración del servidor. Lo primero sería verificar la fácil, la de Prestashop. Para ello tenemos que ir al backend, a Configuración> Parámetros Avanzados > Administración. Ahí veréis un apartado llamado Cuota de subida donde podéis cambiar el tamaño de ficheros. El interesante es el de “Tamaño máximo para una imagen de producto“, porque suele ser la que falla. Subidla a lo que necesitéis (teniendo en cuenta que imágenes más grandes tardan más en cargar). En Diseño >Imágenes tenéis algún que otro parámetro más para las imágenes de personalización de productos (sólo para ese caso especial). Paso 2. Si esto falla lo más seguro es que tengáis alguna limitación en el servidor. Lo mejor es poner por prestashop un fichero phpinfo y ver los parámetros configurados. Sobre todo mira post_max_size y upload_max_filesize. Si estos parámetros están demasiado bajos tienen que cambiarse. Cómo hacerlo depende de tu alojamiento. Muchos admiten cambiarlos desde el panel. Otros admiten crear php.ini personalizados o incluso cambiar los parámetros desde htaccess. Lo mejor es que contactes con tus administradores o con algún técnico para que lo vea. Una modificación errónea puede “tirar” tu web.  

Diseño Web, Gestores de contenidos, Trucos

Cómo arreglar el error de Mixed Content en WordPress con SSL

A día de hoy todas las páginas webs en WordPress deberían estar en https (con certificado SLL). Ya hemos hablado sobre cómo instalar el certificado y cómo activarlo en WordPress. Aunque, desgraciadamente, muchas PYMES siguen sin actualizar sus páginas. Por ese motivo muchas ven el aviso de “Conexión no segura” en los navegadores. Sin embargo, otras páginas web que sí han pasado a SSL, siguen recibiendo el aviso de conexión no segura. Si usas el inspector para ver el error dice que hay contenido mixto, el error de Mixed Content. Esto es porque hay elementos cargándose en http aunque la página esté en https. Cómo arreglar el error de Mixed Content en WordPress con SSL Podemos solucionar este error de varias maneras. Lo primero sería ver si es contenido interno. Referencias manuales que se han puesto en la web que pueden cargarse en https. Por ejemplo si has puesto http://tudominio.es/blog en tu web a mano en algún enlace, deberías cambiarlo a https://tudominio.es/blog. Para esto es muy útil usar un plugin como Search and Replace para cambiar automáticamente todos estos enlaces. Nota: haz copia de seguridad antes y comprueba lo que cambia.  Es preferible ir paso a paso que cambiar lo que no debemos. Este método es el preferible, para limpiar la web, dejar el contenido en https y no usar plugins adicionales que carguen la página. Si esto no funciona, o es demasiado complicado, existe un plugin llamado SSL Insecure Content Fixed.  Para nosotros esto tendría que ser una solución si el punto anterior no funciona, o para que funcione mientras arreglamos el contenido mixto a mano. También para casos que usen plugins que no podamos modificar. El plugin tiene varios modos de funcionamiento (fix level) que deberías probar en orden, desde el primero hasta el último. El primero, Simple, debería funcionar para la mayoría de las webs. Después tienes que ir a la sección HTTPS Detection y escoger el mejor modo entre las opciones que ofrece. De nuevo el primero, Standard WordPress function, debería ser la opción escogida en la mayoría de los casos. Aunque tenéis modos para Cloudflare y otras opciones de configuración. Guarda las opciones y refresca tu web para ver si ya no tienes los errores. Si sigues con ellos, vuelve a modificar el plugin hasta que se solucione. Pero en algún momento tendrás que arreglar los enlaces y “limpiarlos”.  

Diseño Web, Gestores de contenidos, Prestashop

Traducir o eliminar Gratis (Free) en los costes de envío de Prestashop

Hoy vamos con otra de esos fallos innecesarios de Prestashop. Si tu haces un pedido, y tienes puesto que los costes de envío se calculen por la dirección, aquellos clientes que sean invitados verán Costes de envío: Gratis hasta que rellenen dicha información.  Obviamente esto está mal, los costes de envío están pendiente de cálculo. Primer error. Ok, pues la solución sería traducirlo ¿no? Pues aquí está el segundo error, la traducción no funciona. Aparece el término en la plantilla Classic pero nosotros tenemos una plantilla “hija” y, aunque hemos movido todo lo pertinente a ella, no aparece ahí. Suponemos que tampoco si tienes otra plantilla. Os explicamos por qué. Traducir o eliminar Gratis en los costes de envío de Prestashop. Como decimos el error está en el sistema de traducciones. Este término está en el fichero src/Adapter/Cart/CartPresenter.php. Ahí aparece lo siguiente: $subtotals[‘shipping’] = array( ‘type’ => ‘shipping’, ‘label’ => $this->translator->trans(‘Shipping’, array(), ‘Shop.Theme.Checkout’), ‘amount’ => $shippingCost, ‘value’ => $shippingCost != 0 ? $this->priceFormatter->format($shippingCost) : $this->translator->trans(‘Free’, array(), ‘Shop.Theme.Checkout’), Esto hace que debería poner la traducción en tu tema, pero en nuestro caso no lo hace. Sólo en el tema padre. Así que hay dos soluciones: Cambiar eso de Free ahí en ese fichero. Pero en cualquier actualización se borrará el cambio. En nuestro caso la traducción está en el tema Classic (aunque usemos un tema hijo), en Shop > Theme > Checkout.  Por lo tanto lo modificamos en el tema padre. No sabemos si lo cambia al actualizar (suponemos que sí). Esperamos que esto lo solucionen pronto. En nuestro caso, hemos puesto “Pendiente de cálculo de los costes de envío” en todos los idiomas, y así, cuando ponen la dirección, ya aparecen los costes.  

Diseño Web, Gestores de contenidos, Prestashop

Facturas rectificativas en Prestashop. Cómo configurarlas

Desde las últimas versiones, Prestashop nos permite realizar algo que, para la legislación española, es obligatorio: las facturas rectificativas. Eso si, tenemos que realizar algunos cambios que os dejamos a  continuación. Cómo configurar las facturas rectificativas en Prestashop. Tenemos que cambiar varias cosas. Os las ponemos por partes. 1.  Traducciones. Lo primero es traducir los términos para que aparezca Factura Rectificativa en las facturas que emitamos de este tipo. Para eso tenemos que ir a Internacional>Traducciones> Traducciones de Temas>Tutema>Idioma (es)  y ahí buscar Credit slip. Todo lo que ponga Credit slip hay que traducirlo por Factura Rectificativa. Por ejemplo en Shop>pdf para las facturas. Si falta algo por traducir, por ejemplo en los e-mails o el backoffice entra en cada apartado y busca Credit Slip. Con esto ya tenemos el nombre correcto. Relacionado con esto, puedes querer cambiar el prefijo de tus facturas rectificativas. Para eso ve al backend a Pedidos y debajo de Facturas tienes el apartado “Facturas Por Abono” o, si lo has traducido en el Backend, Facturas Rectificativas. Ahí podrás ver todas las emitidas y, si vas a la parte inferior de la pantalla, tienes OPCIONES DE FACTURAS POR ABONO  y ahí puedes cambiar el prefijo. 2. Referenciar la factura a la que rectificamos. Otra cosa importante es que la factura rectificativa referencia a la original. Esto no viene por defecto en Prestashop, y hay que modificar ficheros. Tenemos que editar el fichero order-slip.tpl de la carpeta pdf de nuestra plantilla. Al final del fichero añadimos lo siguiente (justo encima del <!– Hook –> y debajo de </tr>) : <br/> <br/> <br/> {l s=’Invoice rectified’ d=’Shop.Pdf’ pdf=’true’}:{$order->invoice_number|string_format:” FA{‘Y’|date}/%06d”}</p> <p> Explico el código. La primera parte entre {} es el texto a incluir delante. Nosotros ponemos las cosas en inglés y luego vamos al backend, a las traducciones>tutema>es>pdf y cambiamos ese término por Factura rectificada Después el segundo {} es la instrucción que saca el número de factura. En él hemos incluido FA que es el prefijo que nuestro cliente usa para sus facturas (cámbialo por lo que quieras). Y nuestro cliente tiene puesto que añada el año delante de las facturas, por eso ponemos lo de {‘Y’|date}/ , si tu no lo usas no pongas esa parte. De esta manera veréis que ya tenéis las facturas traducidas, y el número de factura original referenciada en nuestra factura rectificativa. Cómo se usan las facturas rectificativas. Por último explicamos cómo se usan estas facturas. Para emitir una factura rectificativa tienes que ir al pedido, al backend, Pedidos y buscar tu pedido. Justo donde puedes ver las facturas, en la parte superior tienes las opciones de reembolso. Si el pedido no se ha enviado todavía (no está marcado como enviado) sólo tendrás Reembolso Estándar. En esta opción sólo te deja devolver el importe íntegro de los productos. Si el pedido ya se ha enviado tienes Reembolso Estándar y Reembolso Parcial. En el Reembolso Parcial te deja reembolsar parte del importe pagado tanto en los productos como en los gastos de envío. Cuando elijas una de esas opciones, además de generar la factura de dejará generar un cupón descuento si así lo quieres. Una vez generada, podrás ver siempre la factura en el pedido, y en la sección de Facturas por Abono del backend. Esperamos que de esta manera podáis usar las facturas rectificativas. Con estos retoques es rapidísimo devolver algo a un cliente.      

Diseño Web, Gestores de contenidos, Seguridad

Protege tu backend de WordPress, wp-admin, con contraseña adicional en .htaccess

En informática siempre decimos que no hay un método de seguridad infalible. Que lo importante es añadir “capas de seguridad”. Es la suma de capas lo que securiza mejor el sistema. Hoy vamos a enseñaros a añadir otra más a vuestra web en WordPress: una contraseña adicional en tu backend (wp-admin o incluso wp-login si no tienes usuarios que usen el backend). Proteger el backend de WordPress, wp-admin, con contraseña usando htaccess. La idea es usar este artículo para generar dos cosas: un fichero .htpasswd que contenga un usuario y una contraseña encriptada. Puedes usar la web en el artículo para generarlo. Este fichero hay que ponerlo FUERA de la web, en un directorio al que el servidor pueda acceder pero que no sea público (en home o en cualquier otro).  Un fichero .htaccess que debe llamar al fichero anterior, y que guardaremos en el directorio wp-admin de nuestra web (importante, no es el fichero .htacess de la raíz). De esta manera, cuando alguien escriba en el navegador tudominio/wp-admin el fichero htaccess verá que necesita usuario y contraseña, y abrirá una ventana solicitándolo. Comprobará lo que introduzcas con el fichero htpasswd. Parece un poco lata, porque habrá 2 identificaciones (usuario y contraseña de htaccess y usuario y contraseña de WordPress). Pero recordad que significa que tenéis 2 “verjas” en el panel de administración de vuestra web. Además, este primer método elimina buena parte de los ataques de fuerza bruta a la web. El fichero htaccess en el directorio wp-admin será algo como esto (puede variar): AuthType Basic AuthName “Acceso restringido con contraseña” AuthUserFile “/home/user/.htpasswds/public_html/wp-admin/passwd” require valid-user La ruta del AuthUserFile puede ser la que querías. Por ejemplo /home/user/pepe/passswordsweb Arreglos extra que hay que añadir. Esta protección extra rompe alguna funcionalidad que puede (y puede que no) tenga tu tema. Rompe la API Ajax de WordPress. También las peticiones GET/POST. Para arreglarlo tenemos que editar el fichero .htaccess creado en el directorio wp-admin (el que acabamos de crear) y añadir: <FilesMatch “(admin-ajax|admin-post)\.php”> Order allow,deny Allow from all Satisfy any </FilesMatch> Para que permita estas solicitudes. Proteger wp-login con contraseña. Sin no tienes usuarios que deban acceder a tu backend puede interesarte también proteger wp-login. No puedes hacerlo igual que en el caso anterior porque, en este caso, no es un directorio sino un fichero. Pero es similar, y también protege el admin (que es un login) Tienes que editar el .htaccess del directorio raíz de tu web, el que crea WordPress y añadir: # Stop Apache from serving .ht* files <Files ~ “^\.ht”> Order allow,deny Deny from all </Files> # Protect wp-login.php <Files wp-login.php> AuthUserFile “/home/user/.htpasswds/public_html/wp-admin/passwd” AuthName “Private access” AuthType Basic require user mysecretuser </Files> Como veis, cuando alguien quiere entrar en wp-login hace lo mismo que el fichero anterior. Hemos puesto la misma ruta del fichero, podéis tener otra. Y hemos puesto un usuario pero puedes poner valid-user. Errores 404 o redirecciones infinitas. Después de estos cambios pueden ocurrir errores 404 o redirecciones en la web. Para evitarlos edita el .htaccess del directorio raíz de tu web y añade: ErrorDocument 401 default Recordad que todos estos casos, además de proteger la web, lo que hacen es mejorar el rendimiento de tu servidor. Porque estamos elminando muchas de las las peticiones de acceso “ilícitas” y los intentos de ataque (os sorprenderían la cantidad que hay).

Diseño Web, Gestores de contenidos, Prestashop

Cómo traducir el Welcome del asunto en el e-mail de bienvenida de Prestashop

Otro de esos fallos raros de Prestashop (y tenemos muchos más). Cuando el cliente crea una cuenta, recibe un e-mail de bienvenida. Sin embargo en el asunto pone Welcome. Si vas a los asuntos de e-mails de la sección de traducciones del backend, aparece el término. Pero por más que lo traduces no hace ni caso. Por este y algún otro artículo reciente y, viendo el código y leyendo artículos, tengo la sensación que están cambiando el sistema de traducciones y no han hecho una revisión demasiado profunda. Cómo traducir el Welcome del asunto en el e-mail de bienvenida de Prestashop. De nuevo lo que pasa es que falta un fichero. Tienes que ir a a /mails/tuidioma , por ejemplo /mails/es/ y buscar un fichero lang.php. Si no está ahí busca en los demás idiomas, puedes usar ese. Si no puedes recrearlo. Yo lo que hago es copiarlo a /themes/tuplantilla/mails/tuidioma  para tenerlos ahí en la plantilla y en las traducciones de la plantilla. Mi fichero que sólo tiene la traducción de Welcome es algo así: <?php global $_LANGMAIL; $_LANGMAIL = array(); $_LANGMAIL[‘Product out of stock’] = ”; ?> Pero puedes aprovechar para traducir otros términos. La gente lo usa para traducir también el Order Confirmation. Os dejo algunos de los que se usan. $_LANGMAIL = array(); $_LANGMAIL[‘Your new admin password’] = ‘ ‘; $_LANGMAIL[‘Your password’] = ‘ ‘; $_LANGMAIL[‘Welcome!’] = ‘ ‘; $_LANGMAIL[‘Order confirmation’] = ‘ ‘; $_LANGMAIL[‘Message from contact form’] = ‘ ‘; $_LANGMAIL[‘My personal informations’] = ‘ ‘; $_LANGMAIL[‘Message from a customer’] = ‘ ‘; $_LANGMAIL[‘Virtual product to download’] = ‘ ‘; $_LANGMAIL[‘Referral Program’] = ‘ ‘; $_LANGMAIL[‘Package in transit’] = ‘ ‘;  

Scroll al inicio