Gestores de contenidos

Diseño Web, Gestores de contenidos

Añadir un recargo en métodos de pago de WooCommerce. Por ejemplo en Paypal.

Llevar una tienda online no es fácil. Muchos servicios conllevan unas comisiones que son difíciles de asumir por los pequeños márgenes de los que disponen los comerciantes. En ocasiones, estas comisiones hay que cargárselas al cliente. No queda más remedio (nadie quiere hacerlo per se).Hoy vamos a enseñaros a añadir un recargo en métodos de pagos en WooCommerce. Para ello vamos usar el ejemplo de Paypal. Paypal cobra actualmente 2,9% +0,35€ por transacción. Así que muchos comerciantes optan por añadir un recargo en este sistema de pagos. NOTA: en teoría esto está prohibido en las condiciones de pago de PayPal (punto 5.4, “No aplicará ningún recargo por el uso de PayPal“). Pero sigue siendo una práctica habitual.Obviamente…la responsabilidad de las penalizaciones de PayPal por activar este recargo no son responsabilidad nuestra (sólo enseñamos que es posible). Cómo añadir un recargo en PayPal. Vamos a usar el plugin WooCommerce Pay for Payment. Este plugin te permite añadir un recargo porcentual y/o un recargo fijo en cada uno de los métodos de pago. Calcula primero la parte porcentual y luego añade la parte fija. Para añadirlo en PayPal tenemos que: ir a WooCommerce->Ajustes->Pagos Veremos que ya tenemos una columna llamada Cargo Adicional. Pinchamos en Gestionar. Cerca de la mitad tenemos una sección llamada “Cargo Adicional“. Ahí tenemos que añadir: – El nombre que aparecerá cuando apliquemos el recargo. – El recargo fijo. – La parte proporcional. -Si incluye que impuestos y que tipo de impuesto. Con esto sólo tenéis que hacer pruebas y ver que aparece correctamente en todas las secciones de la tienda.

Diseño Web, Gestores de contenidos, Trucos

Plugin Honeypot para Contact Form 7. Reduce el spam.

Una de las maneras de reducir la cantidad de spam que llega a través del plugin Contact Form 7 es este plugin del que vamos a hablar hoy: Honeypot for Contact Form 7. Además, es una de las primeras cosas a probar, porque es invisible para los usuarios, y sólo intenta captar a los robots en su trampa. Honeypot for Contact Form 7. El funcionamiento del plugin es muy sencillo, añade un campo “trampa” que oculta a los usuarios normales. Los robots que no estén programados para identificar esta trampa (las cosas van avanzando), rellenan el campo, como harían con cualquier otro. El plugin identifica como spam y no manda, cualquier contacto que rellene este formulario (porque un “humano” no podría hacerlo). La instalación es como la de cualquier otro módulo, pero la configuración implica algo más. Cuando tengáis el plugin instalado, aparece el campo “honeypot” entre los campos disponibles para elegir. La manera de configurarlo es: Seleccionar el campo Honeypot. Conviene que lo pongáis en medio del formulario, no al principio ni al final. En las opciones, cambiad el nombre de la etiqueta (que por defecto es honeypot-xxx) para reducir las posibilidades que lo detecten. Lo demás no hay que tocarlo, él se encarga de ocultar ese campo. Si queremos podemos marcar la casilla de llevar el CSS al footer, para confundir todavía más a los robots (haciendo que la parte que oculta este campo no esté al lado del campo). En este vídeo mostramos cómo se instala y configura. ¿Es la panacea? No, seguramente te seguirá entrando spam por ese formulario. Pero es una primera “valla” que reducirá la entrada de correos no deseados. Y además: es INVISIBLE para el usuario. es fácil de instalar. se puede combinar con otras medidas anti-spam.

e-Learning, Gestores de contenidos, Soporte, Trucos

Dónde descargar versiones anteriores de Moodle

Es difícil tener Moodle actualizado a la ultimísima versión, porque la actualización no es “hacer un clic”. De hecho tampoco es recomendable porque los temas y addons no se actualizan tan rápido como el core, y porque pueden surgir problemas con la última versión. Así que cuando quieres actualizar Moodle te encuentras con que tienes que descargar versiones que no están en su página web. Aquí os dejamos los enlaces para descargar todas las versiones de Moodle. Versiones obsoletas sin soporte (legacy). Versiones sólo con soporte de actualizaciones de seguridad. Versiones con soporte. Versiones más recientes. Desde estos enlaces puedes encontrar la versión o versiones que necesitas y actualizar tu Moodle a la penúltima versión (no recomiendo la última).

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

Permisos de carpetas y archivos en WordPress

Una pregunta que nos hacen, y nos hacemos muy a menudo: ¿qué permisos necesita WordPress en el servidor para funcionar? Lo primero que hay que tener en cuenta es que esto depende mucho de la configuración del servidor web (Apache, Nginx…) el modo de funcionar etc. Es decir hay muchas configuraciones que pueden afectar a esto. Hablaremos de manera genérica. Nota: el cambio de permisos podéis hacerlos por ssh o por FTP. En breve haremos un vídeo sobre cómo cambiarlos por FTP. Permisos de que necesita WordPress en archivos y carpetas. En la mayoría de los casos: 755 para carpetas y 644 para archivos. En ciertos casos donde la configuración del hosting no está bien realizada, o donde varios usuarios suben ficheros por FTP los mejores permisos son 775 para carpetas y 664 para archivos. En ciertas ocasiones cambiar estos permisos no resuelve los problemas en WordPress porque hay problema de usuarios y grupos en la configuración del hosting. Normalmente el usuario de las carpetas no coincide con el usuario de Apache. Eso debe resolverlo el que gestione el servidor.

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

WordPress no para de pedir usuario y contraseña de FTP.

Problema. En ocasiones nos hemos encontrado con este problema en algún cliente. Estás en el backend (administración), y para acceder algunos apartados pide usuario y contraseña de FTP. Además, cuando intentas instalar un plugin, no deja porque no tiene las credenciales de FTP. Causa y solución. La causa del problema es que los permisos están mal. configurados en este hosting. Pueden ser los permisos de las carpetas (deberían ser 755 directorios y 644 ficheros en la mayoría de los casos) o que el usuario en que se ejecuta la web no tiene permiso para escribir en el directorio. Obviamente ambos están relacionados, pero por temas de seguridad, no podemos dar cualquier permiso a WordPress. Lo primero a probar como solución sería cambiar los permisos por FTP. Grabaremos un vídeo sobre esto, pero es fácil asignar los que hemos dicho más arriba. Si aún así no funciona, lo que debemos hacer es que los administradores del alojamiento nos corrijan el usuario y grupo de los directorios de nuestra web. Deben ser los que corre Apache o el usuario web bajo los que corre Apache. Con este usuario, y los permisos adecuados, WordPress no da problemas. PERO, los administradores puede tardar un tiempo en solucionar este problema, y mientras tanto necesitamos actualizar o instalar componentes. En este caso os damos dos soluciones provisionales. Ambas deberían ser provisionales, y sólo mientras instalamos o actualizamos (luego las quitamos). Si no podemos tener problemas de seguridad. Añadir la siguiente línea a wp-config.phpdefine(‘FS_METHOD’,’direct’); Lo puedes poner debajo de DB_COLLATEPuedes ver más información aquí. Directo fuerza Direct File I/O  en php al transferir ficheros, y a guardarlos con el usuario de Apache,Pero puede abrir agujeros de seguridad si el servidor no está bien configurado.Así que ponemos esta línea, guardamos y deberíamos poder actualizar e instalar lo que queramos desde el backend.Cuando acabemos, quitamos la línea de nuevo. Configurar usuario y contraseña de FTP en wp-config.De nuevo esto crea riesgos de seguridad porque están los datos de FTP en un fichero al que pueden acceder los usuarios (si está mal configurado).Añadimos lo siguiente al fichero (sólo la parte en negrita): define(‘FTP_HOST’, ‘ftp.MIDOMINIO.com’);  > Servidor de FTPdefine(‘FTP_USER’, ‘USUARIO_FTP’);  > usuario FTPdefine(‘FTP_PASS’, ‘LA_CONTRASEÑA’);  >contraseña FTPdefine( ‘FTP_BASE’, ‘/httpdocs/wp/’ );  > Directorio donde tenemos instalado wordpressdefine(‘FTP_SSL’, false); > solo en el caso que tengamos SFTP De nuevo lo quitamos al acabar.

Diseño Web, Gestores de contenidos, Soporte

Las páginas protegidas con contraseña no funcionan en WordPress con caché (plugin, Cloudfront o Cloudflare).

Recientemente hemos estado peleando con esto, y os dejamos la solución. Problema. El problema detectado es que no te funcionan las páginas protegidas con contraseña en WordPress. En nuestro caso por más que ponías la contraseña correcta en algunas páginas te la volvía a preguntar. En otras páginas simplemente aparecía el texto sin poner la contraseña. Causa. Para entender lo que está pasando hay que comprender cómo funcionan las páginas protegidas por contraseña en WordPress. Cuando proteges una página, y el usuario pone la contraseña, el truco es que WordPress la comprueba, guarda la contraseña en una cookie llamada wp-postpass_COOKIEHASH donde COOKIEHASH es un número generado (un hash).Para ello va a la url wp-login.php?action=postpass Las causas del error pueden ser varias: Se ha modificado el wp-login.php (por ejemplo para cambiar el acceso de usuario) o alguna redirección o bloqueo no deja llegar a esa página. En tal caso no puede comprobar la contraseña y no funciona.Prueba a acceder a tudominio/wp-login.php para ver si funciona. Se está impidiendo acceder o guardar la cookie wp-postpass_*Esto suele ser por un CDN o caché, lo vemos más adelante. El caché está guardando esta cookie demasiado tiempo y la contraseña ha cambiado.Cambia los tiempos de expiración de las cookies (en concreto la que hemos dicho). La configuración del servidor o de la web está impidiendo que de la página vaya a wp-login y vuelva a la página. Esto está relacionado con los “HTTP referrers“. En estos casos dejando pasar estos en el firewall o quitando cosas como <meta name=”referrer” content=”no-referrer”> de la web se arregla. Obviamente hay alguna causa más pero esto son los principales. Solución si tienes CDN o caché tipo Cloudfront de Amazon o Cloudflare. Si estás trabajando con Cloudfront de Amazon o Cloudflare, la causa seguramente será la cookie. En este caso tienes que ir a la configuración de tu CDN y decir que deje pasar (whitelist) la cookie wp-postpass_*. En Amazon Cloudfront por ejemplo funciona así. Pero debería funcionar en cualquier CDN o plugin de caché. Comprueba también que los HTTP referrer no los está eliminando el CDN, es decir que los deje pasar como los manda el origen (muchos CDN eliminan los headers). Esperamos que con esto se os quiten muchos dolores de cabeza porque es un error de los “raros”.

Diseño Web, Gestores de contenidos

Los sliders no están permitiendo Videos con Autoplay con sonido por restricciones de los navegadores.

Hace unos días, en la web de un cliente, intentamos poner un vídeo para que se ejecutara automáticamente al cargar la página (Autoplay). Pero no conseguíamos que se escuchara el sonido. Después de darle unas cuantas vueltas, e investigar un poco, descubrimos la causa y os la dejamos aquí por si os pasa (o nos pasa de nuevo a nosotros). Parece ser que los plugins de slider más comunes, están deshabilitando el sonido en el Autoplay, por restricciones de los navegadores.Los navegadores están intentando “mejorar la experiencia del usuario”, y los usuarios encontraban molesto el que se cargaran las páginas con sonido. Así que han deshabilitado esta opción. Como podéis ver aquí, siempre se permitirá el Autoplay SIN sonido, pero con sonido sólo en ciertos casos muy concretos. Como dice Google “a los usuarios les va a encantar”. A los desarrolladores, y a los clientes, no tanto.

Diseño Web, Gestores de contenidos, Seguridad

WPScan: base de datos de vulnerabilidades de WordPress con plugin y API para escanear tu web (y otras).

Para aquellos que os preocupa la seguridad de vuestros sitios en WordPress, hoy os dejamos una gran herramienta. WPScan es una base de datos de vulnerabilidades de WordPress (página oficial aquí). Es decir, van almacenando todos los fallos tanto de core como de temas y plugin de este gestor de contenidos. En cada fallo puedes ver su severidad, referencias, guía de tiempos e información adicional.También permite informar de vulnerabilidades. Esta funcionalidad ya lo haría un gran recurso, pero es que además tiene dos otras muy útiles. Plugin de WordPress para poder escanear tu página web basándose en esta base de datos. Obviamente útil para usuarios de WordPress y diseñadores web. API para poder usar la base de datos externamente. Esto te permite usarla desde tu ordenador o desde un servidor y escanear cualquier página.Muy útil para desarrolladores y expertos en seguridad. Y también para los “hackers”. Con todo está claro que es una herramienta de seguridad muy potente (forma parte de la mayoría de las distribuciones de seguridad y pentesting), y que en malas manos puede ser el mejor aliado del hacker. De hecho si buscas “WPScan WordPress” en Google, obtendrás muchos resultados sobre cómo “hackear WordPress con WPScan”. Porque con esta herramienta podemos analizar cualquier web hecha en WP, y nos dirá todas la información sobre sus versiones, plugins, usuarios (si puede), temas. Con esa información, probará las vulnerabilidades conocidas de cada una y te dirá cuales ha encontrado. Para un hacker es como un amigo que te dice “los agujeros están aquí y aquí”.Para un desarrollador (nosotros) una manera de reforzar la seguridad de su sitio en WordPress. Vosotros decidís cómo usarlo.

Diseño Web, Gestores de contenidos, Trucos

Cómo activar y configurar los impuestos en WooCommerce

WooCommerce por defecto viene sin los impuestos activados. Es necesario activarlos, y configurar las reglas de Tasa Estándar (21%), Tasa Reducida (por ejemplo un IVA menor) o Tasa cero (sin impuestos). En este vídeo os enseñamos a activar y configurar los impuestos en WooCommerce. Nota1: explicamos cómo crear una regla general para todos los países y qué significa cada campo. Luego cada tienda es diferente y puede que tengáis que crear reglas por países, regiones, comunidades, ciudades… Pero el sistema es el mismo. Nota2: en España los impuestos tienen que estar desglosados. Es importante. Le dedicaremos otro artículo a esto. Resumen del proceso. Básicamente tenéis que: Ir a WooCommer > Ajustes > General y marcar la pestaña Activar impuestos Una vez hecho esto aparece la pestaña Impuestos. Ahí tenéis que, en la primera pantalla ( Opciones de impuestos ) configurar si queréis introducir los precios con o sin IVA, si queréis que afecte a los envíos, si queréis que aparezcan los impuestos detallados etc. Aquí las opciones que mencionamos en el vídeo son importantes. Después vamos a la pestaña de las Tarifas que queremos usar (sobre todo la Tarifa Estándar) y ahí tenemos que añadir una nueva fila con el porcentaje requerido según las condiciones que necesitéis. En nuestro caso un 21% para todos los destinos. Con esto ya estaría, recordando que, aunque podéis poner una Tarifa por defecto, luego en cada producto podéis cambiar el tipo de Tarifa que le aplica.

Diseño Web, Gestores de contenidos, Trucos

DNI del cliente en la factura de WooCommerce con WooCommerce Checkout Manager y WooCommerce PDF Invoices & Packing Slips.

Hace unos días os explicamos que en WooCommerce hay que hacer unos cambios para adecuarse a la legislación española.En resumen son: – Hacer que los números de factura sean consecutivos. – Incluir el DNI del cliente en la factura. – Desglosar el I.V.A. en la factura. El punto 1 se resuelve con plugins como PDF Invoices & Packing Slips.El punto 2 puede resolverse con plugins específicos (pero de poco recorrido probado), como explicamos en este post. PERO, como puede que no nos fiemos de esos plugins o que ya tengamos que usar WooCommerce Checkout Manager para otras cosas (como elegir los campos obligatorios en la compra), vamos a enseñar a añadir el campo de DNI/CIF con estos dos plugins.Nota: nivel medio de conocimientos. NIF/CIF con WooCommerce Checkout Manager y WooCommerce PDF Invoices & Packing Slips. Vamos a suponer entonces que tienes PDF Invoices & Packing Slips y WooCommerce Checkout Manager instalados. 1) Lo primero que vamos a hacer es crear un campo nuevo para el DNI en Checkout Manager. Para ello vamos, en el menú del backend a WooCommerce->Ajustes->Finalizar Compra->Facturación (WooCheckout-> Facturación) y pinchamos en Añadir nuevo campo. Seleccionamos un Campo de texto, que marcamos como obligatorio, ponemos el nombre que queramos (NIF/CIF) y el aviso que queramos. Es importante el último campo que será parte del nombre de la variable donde se guarde este campo (ya no se puede cambiar el nombre). En nuestro caso nifcif. Debe quedar algo así: Podemos comprobar que ahora al realizar la compra debería pedirnos este campo. Haced una prueba porque la vais a necesitar luego. 2) Ahora vamos a hacer que se incluya en la factura. Para eso necesitamos hacer dos cosas a) descubrir qué nombre tiene la variable de este campo en el sistema y b) añadirlo a una plantilla de factura. a) Para descubrir que nombre tiene la variable vamos a instalar el plugin Store Toolkit for WooCommerce (ya hablaremos sobre el otro día). Una vez activado vamos a ir a un pedido en el que hayamos metido el DNI (hacemos una prueba antes) y, al final, veréis un listado de campos. Debería aparecer uno que acabe en lo mismo que pusisteis en el último espacio al crear el campo (nombre de la variable).En nuestro caso el campo se llama _billing_nifcifUna vez sabéis esto podéis desactivar el plugin Store Toolkit. b) Ahora hay que crear una plantilla nueva en PDF Invoices & Packing Slips . Si os vais al backend a WooCommerce->Facturas PDF-> General tenéis las instrucciones. Ahí dice :”  Copia todos los archivos de wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/Simple a tu tema (o tema hijo) en wp-content/themes/tutemahijo/woocommerce/pdf/yourtemplate para personalizarlos. “Por lo tanto es mejor que hayáis creado un tema hijo (nosotros no lo hicimos y la actualización del tema nos borró las modificaciones). Una vez hayas copiado el contenido de Simple a tu directorio de plantilla, tendrás un fichero invoice.php. Edítalo y, en el apartado de address-billing-address añade la siguiente línea: <?php $this->custom_field(‘custom_fieldname’, ‘Custom field:’); ?> En nuestro caso: <?php $this->custom_field(‘ _billing_nifcif’, ‘NIF/CIF:’); ?> Tiene que quedar así: Fijaos que hemos añadido un br antes para que salte una línea. Ahora en WooCommerce->Facturas PDF-> General , el desplagable debería dejaros elegir la plantilla creada. Sacad una factura nueva (podéis coger un pedido, mandar la factura a la papelera y regenerarla). Ahora deberíais ver el DNI en el apartado de dirección de facturación. Esperamos que os sirva.

Scroll al inicio