Activar/desactivar registro de usuarios en WordPress

Si usáis WordPress, probablemente os interese permitir el registro de usuarios o en su contra, si lo tenéis activado, deshabilitarlo. La solución es simple e inmediata, dentro del Escritorio (al que accedéis vía /wp-admin/), os dirigís a Ajustes, Generales y activáis o desactiváis el checkbox de: Cualquiera puede registrarse.

Registro WordPress

Leer más » 10 Comentarios

Alinear imágenes correctamente en una grilla sin usar tablas con HTML y CSS

Es bien posible que en más de una ocasión hayáis tenido que colocar imágenes una detrás de otra formando filas y columnas. Algo como lo que muestro a continuación:

Grilla de imágenes

¿Cuál es el problema? Si lo hacéis a mano directamente con HTML y CSS sin usar una galería o un framework que te la cree correctamente, os habréis peleado para dejarlas perfectamente alineadas.

Leer más » 5 Comentarios

Cambiar tema de Spotify en Ubuntu

Quizás la mayor parte de nuestros lectores no sean usuarios de Spotify, pero si bien es cierto que se trata del servicio de música en streaming bajo demanda con más éxito del momento vamos a tratar de adecuarlo lo mejor posible a nuestro escritorio Ubuntu, más concrétamente instalando el tema Ambiance en este reproductor de música.

Antes de nada, y para que no instaléis algo de lo que luego pudierais decir que no visteis cómo quedaba, os presento unas capturas de pantalla. Antes y después:

spotify-ubuntu_linux_hispano

spotify-ambiance_linux_hispano

Leer más » 1 Comentario

Activar gestor de enlaces en WordPress 3.5 y posteriores

Si sois seguidores de WordPress, sabréis que a partir de la versión 3.5, las nuevas instalaciones y activaciones en el caso de redes de blogs WordPress, pasan a no tener el gestor de enlaces.

Gestor de enlaces WordPress

En realidad no es que no tengan, es que por defecto no se activa y es una maniobra para eliminarlo a medio plazo (versión 3.6 o 3.7 quizás). Los que no tenían enlaces en uso, tampoco lo verán.

¿Por qué?

No sé las razones a ciencia cierta pero diría que es una mezcla de que la tabla wp_links ya no encaja tan bien dentro de la filosofía actual de la base de datos WordPress (podríamos hacer un custom post type con enlaces por ejemplo para sustituirla) y es una funcionalidad que se saca del núcleo para integrarla en un plugin.

Leer más » 1 Comentario

Comprobar si un usuario es administrador en WordPress

Cuando trabajamos con WordPress, uno de los puntos básicos es definir diferentes vistas en función del rol del usuario. En la mayor parte de las ocasiones, la diferencia será: es administrador, no lo es.

¿Para qué puede servirnos esto? Desde poner un enlace a editar entrada a otro de eliminar comentarios en tu tema, pasando por todo lo que podáis imaginar que queráis dividir entre visitantes de vuestro sitio y vosotros que sois los administradores.

El código:

if(current_user_can('manage_options'))
{
  // solo administrador
}
else
{
  // resto
}

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

Reparar y optimizar todas las bases de datos en MySQL

Probablemente, en alguna ocasión te hayas enfrentado vía log o vía mensaje de urgencia con un mensaje de este tipo: “table marked as crashed and should be repaired” cuando trabajas con MySQL. Más aún si has tenido un reinicio de emergencia, si usas MyISAM o si tienes problema con tu sistema de ficheros (o tus discos).

Puedes tratar de reparar tabla a tabla, sin embargo, lo más productivo es hacer todas de una vez. Antes de cualquier operación de este tipo, haz una copia de todo por si acaso (aquí en Linux Hispano hablé de cómo hacer backups y recuperarlos).

La orden a ejecutar será la siguiente y el resultado lo veréis en la consola, si OK o si hay problemas:

mysqlcheck -u root -p --auto-repair --optimize --all-databases

Leer más » 1 Comentario

Sencillo ejemplo de tratamiento de imágenes con Octave

imagenesoctave

NOTA: este tutorial es parte del curso de Octave de Linux Hispano.

Últimamente soy un adepto a Octave. Hace unas semanas publiqué un primer programa en Octave y un segundo programa en Octave después de cómo instalar Octave en Ubuntu Linux. En esta ocasión os muestro un tercer ejemplo para conocer con un ejemplo sencillo el tratamiento de imágenes.

Ésta es la imagen de ejemplo que vamos a utilizar:

imagen

En este caso se va a intercambiar el cuarto superior izquierdo de la imagen con el cuarto inferior derecho. Éste es el código de Octave necesario para realizarlo:

Leer más » 3 Comentarios

¿Por qué no debemos usar require_once en PHP? ¿Qué soluciones tengo?

Cuando desarrollamos es muy frecuente que necesitemos leer código de otros ficheros, los lenguajes y las tecnología difieren en la forma, pero es algo básico y común a todos ellos (salvo excepciones). En PHP una forma cómoda de hacerlo es con require_once o include_once.

¿Por qué cómoda? Porque incluimos ficheros sin preocuparnos de si ya han sido incluidos. PHP lo hace por nosotros.

¿Qué problema hay? PHP al buscar si han sido incluidos o no, consume una cantidad de recursos y de tiempo de ejecución que siempre que podamos, debemos ahorrárnoslo.

¿Qué soluciones hay frente a este problema? Voy a detallar algunas de ellas, pero seguro que tú conoces alguna más que te funciona.

Usar un framework o un CMS

Si usas un entorno de este tipo, probablemente él te dote de funciones similares en funcionalidad que esquivan este problema. Por ejemplo en WordPress uso mucho get_template_part.

Indicar mediante define si se ha incluido o no

La idea sería algo así:

if (!defined('MiFichero')) {
    require('MiFichero');
    define('MiFicherp', 1);
}

De esta forma, con esta bandera, ya tenemos siempre presentes si está incluido o no (podemos hacer una función con ese código para reutilizarlo).

Leer más » 6 Comentarios

Segundo programa en Octave

octave

NOTA: este tutorial es parte del curso de Octave de Linux Hispano.

Hace unos días mostré un primer programa en Octave después de cómo instalar Octave en Ubuntu Linux. En esta ocasión os muestro un segundo ejemplo para empezar con la función de ver gráficas con plot.

Leer más » 3 Comentarios