Diferencia entre wp_ajax y wp_ajax_nopriv

Cuando trabajas con AJAX en WordPress, si quieres hacerlo bien, debes hacer llamadas a admin-ajax.php y desde ahí gestionar las peticiones y sus salidas. Si conocéis esta técnica, conoceréis las funciones: wp_ajax_(acción) y wp_ajax_nopriv_(acción) (de la que no encuentro una referencia directa en el Codex, es raro). read more

Leer más » 1 Comentario

Localizar calendario datepicker de jQuery UI: formato de fecha y nombres de los meses

Cuando hacemos desarrollos web para proyectos con algún apartado de gestión basado en formularios, lo más normal, es que terminemos teniendo que introducir fechas. Las fechas son un tanto problemáticas, tanto por su posterior manejo, como por su introducción por parte del usuario. ¿Por qué? Por dos razones:

  • Hay que introducirlas en un determinado formato, en español es primero el día, luego el mes y luego el año, todo separado por barras “tipo Unix”. Podemos hablar de diferentes formatos, depende del país y la cultura y podemos hablar también de fechas incluyendo el día de la semana o incluso el nombre del mes con letras.
  • Es más fácil y más gráfico hacer clic sobre un día en un calendario que escribir la secuencia a mano.

Una buena solución suele ser manejar un calendario que salga directamente sobre el campo de texto como este que os muestro a continuación: read more

Leer más » 3 Comentarios

Cambiar directorio por defecto de Apache

Si trabajáis con Apache, quizás os interese conocer cómo cambiar el directorio por defecto del mismo para poder cambiar la ruta de acceso a los datos del mismo a vuestro antojo. Tened en cuenta que por defecto suele ser: /var/www. Por partes.

Lo primero que hacemos es copiar la plantilla de sitios disponibles para crear una nueva:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/misitio

Ahora debemos editar dicho fichero (recordad que debéis ser superusuarios para editarlo, con algo como gksudo gedit fichero no tendréis problemas para editarlo). En una de las primeras líneas aparece:

DocumentRoot /var/www

Leer más » 3 Comentarios

Eliminar enlaces de una cadena en PHP

En alguna ocasión, mostrando un extracto o por cualquier otra razón, a lo mejor necesitáis eliminar los enlaces de una cadena que manejáis en PHP. Para esta labor, podemos usar el siguiente código, que se basa en el uso de una expresión regular:

$cadena = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $cadena);

Con esto tendríamos la  cadena sin enlaces: HTTP, HTTPS, FTP o FILE, si queréis podéis ampliar la primera parte de la expresión regular para incluir más posibilidades. read more

Leer más » 1 Comentario

Imitar target=”_blank” en JavaScript

Cuando trabajamos con JavaScript, en ocasiones imitamos el comportamiento de la etiqueta <a href=””> de anchor, de HTML, con un location.href = url. Sin embargo, cuando queremos que el enlace destino se abra en una pantalla aparte, haciendo uso de la expresión:

<a href="URL" target="_blank">el texto del enlace</a>

No podemos usar ese método, sino este que muestro a continuación:

Leer más » 8 Comentarios

Uso de CDN: ventajas e inconvenientes

El hecho de tener una CDN (Content Delivery Network o Red de Entrega de Contenidos), tiene puntos positivos y negativos. Antes de comentarlos, tenemos que comprender qué es exactamente.

Una CDN nos proporciona la posibilidad de descargar contenido estático: imágenes, audio, librerías en JavaScript, estilos CSS, etc. desde una fuente diferente a nuestro servidor principal donde tenemos alojado nuestra aplicación web, por ejemplo nuestro WordPress o cualquier otro.

¿Pero por qué usarlos?

Leer más » 1 Comentario

Monitorizar servidor web para ver si está caído o no de forma automática

Probablemente, tengáis más de una vez problemas con los servidores que mantenéis. Un problema típico es que un servidor web deja de dar servicio por cualquier razón. Cuando esto pasa depende de la gravedad, podemos tomar muchas acciones. A veces con reiniciar el servidor web, un proxy caché que tengas o cualquier otro, puede ser suficiente.

Para no tener que estar pendientes, lo ideal es que tengas este proceso automatizado y se ejecute cada cierto tiempo. ¿Cómo? Veamos.

Crear el script

Este es el primer paso, deberemos crear un fichero chequeo.sh o como queráis llamarlo con permisos de escritura e incluir dentro de él las siguientes líneas:

#!/bin/bash
url="aquí_tu_url";
response=$(curl -s -I -L $url | grep HTTP); 

status=${response#* };
status=${status:0:3};

if [ "$status" != "200" ] 
then
    // acciones a efectuar
fi

Leer más » 4 Comentarios

Agrupar misma regla CSS para varios elementos

Cuando estás creando reglas CSS, es muy frecuente que diseñes reglas para cada elemento o grupo de elemento definiendo clases. Es correcto agrupar elementos en grupos mediante las clases, sin embargo, también es correcto definir una sola regla CSS para varios identificadores y clases o partes de reglas que son comunes a varias.

Esto es correcto pero es menos usado y conocido y de ahí la entrada de hoy.

¿Por qué conviene hacerlo?

Básicamente por simplidad y velocidad. Velocidad en dos aspectos, por un lado, por tiempo de transmisión (menos tamaño del fichero CSS resultante), por otro lado, por tiempo de interpretación (menos reglas que interpretar y menos reglas sobre las que buscar al renderizar).

¿Cómo se hace?

Probablemente ya lo sepáis pero merece la pena volver a comentar la sintaxis. Tened en cuenta que ciertos framework como jQuery también hacen uso de la misma sintaxis y puede seros útil.

Veamos un ejemplo esclarecedor:

Leer más » 1 Comentario

Seguridad en formularios WordPress: usando nonce

Cuando usamos WordPress como un CMS o incluso como una API y desarrollamos para él, no serán pocas las veces que tengamos que hacer operaciones de inserción y edición de datos mediante formularios.

Tener un formulario en una aplicación web, es un punto de entrada a nuestro sistema y un sitio complicado en lo que a seguridad se refiere. Si no cuidamos este aspecto también en WordPress, lo que es un CMS seguro, puede convertirse en un problema.

Para resolver este tema, la API de WordPress nos proporciona un mecanismo muy sencillo llamado nonce, que viene del inglés: número usado sólo una vez,  number used once.

Se usan en todo tipo de peticiones: salvando opciones en el administrador, haciendo peticiones AJAX o llevando a cabo cualquier acción susceptible de un problema de seguridad intercambiando información.

Leer más » 1 Comentario

Acceder al servidor web local desde el emulador de Android

Cuando desarrollas a día de hoy aplicaciones en entornos web, tienes la casi obligación de probarlas sobre dispositivos móviles. Para ver el aspecto, el comportamiento, el feedback, etc. que crean probablemente lo mejor sería tener un dispositivo de cada tipo. Eso es lo ideal si tienes tiempo y medios.

Sin embargo, si te falta alguno de los dos anteriores, lo ideal pasa a ser usar emuladores o si queremos ahorrarnos todavía más tiempo, complementos para Firefox o Chrome que permiten este tipo de visualizaciones.

Emulador Android pruebas web

Leer más » 5 Comentarios