Desactivar tema móvil en JetPack

Logo JetPackProbablemente, si usáis WordPress alojado en servidores propios, hayáis oído de la existencia del genial y gran JetPack. Una de sus muchas funcionalidades, es dotar a tu blog de un tema móvil, de una forma similar a como hacen plugins como WPtouch. Personalmente, no me gusta esta opción por la cantidad de problemas que conlleva: desde interacciones negativas  con la caché (no digamos ya si usas una caché del tipo proxy-caché como  Varnish), a falta de personalización pasando porque en ciertos dispositivos como tablets con una pantalla algo superior no es lo óptimo. Mi propuesta en estos casos es tener un tema responsive por lo que el problema ahora sería cómo desactivar el tema móvil de JetPack. read more

Leer más » 4 Comentarios

Cómo desinstalar el plugin W3 Total Caché de WordPress

W3 Total cacheSi usáis WordPress, probablemente manejéis algún sistema de caché que haga que el sistema fluya más rápido y genere páginas estáticas en lugar de tener que ir haciendo en cada vista alrededor de 75 consultas, que pueden ser más dependiendo de la cantidad de plugins, cómo esté hecho vuestro tema, etc. Dentro de los sistemas de caché podemos distinguir diferentes niveles, aunque básicamente identificaremos dos: los que tienen forma de plugin y se integran dentro del propio WordPress y los que son en realidad un proxy caché con un software aparte, ejecutando directamente en el sistema operativo. read more

Leer más » 4 Comentarios

Insertar clave de Akismet desde el wp-config.php

Logo AkismetAkismet es un plugin de WordPress y es un modelo de negocio que me encanta en sí mismo. Ofrece un servicio básico para los que usamos blogs: aislar el spam de forma inteligente, y hay que pagarlo o no, depende para qué lo usemos, haciendo del Software Libre un modelo económico viable, amable y a la vez justo.

Pero bueno, dejando de lado esas consideraciones, hoy os comento cómo meter la clave API de Akismet que conseguís al registraros, para poder usar el servicio.

Probablemente todos conozcáis el método por el cuál introduces la clave API en el escritorio de WordPress. Este método tiene tres problemas, de menor a mayor importancia:

  • Es más lento que el que os voy a inscribir.
  • Es muy pesado si tenemos una red WordPress con muchos blogs (hay que replicar uno a uno).
  • En algunas instalaciones, sobre todo de WordPress Network, el interfaz gráfico de usuario para meter la clave está deshabilitado por un problema técnico que aparece por restricción de permisos. Es un bug y hay varios tickets al respecto.

¿Cuál es la idea que os planteo? Introducirlo directamente en vuestro wp-config.php, exactamente así:

Leer más » 2 Comentarios

Registrar y encolar scripts en WordPress

Probablemente, conozcáis el uso de las funciones para registrar estilos y scripts en WordPress. Básicamente hay dos funciones para cada caso, una para registrar y otra para encolar, respectivamente son las siguientes:

Estilos

Scripts

¿Qué es registrar y qué es encolar? Cuando registras un script o un estilo, defines características básicas del mismo, dónde se encuentra el fichero, qué dependencias tiene (imagínate que jQuery UI requiere de jQuery), la versión que es, etc. Metainformación del script o estilo que permite a WordPress “hacerse un esquema” para hacer la mejor combinación posible cuando sean necesario.

Leer más » 1 Comentario

Prevenir enlace duplicado cuando usas add_menu_page en WordPress

Si alguna vez desarrolláis temas o plugins con WordPress, es muy probable que necesitéis manejar los menú del escritorio. En el caso que en lugar de querer poner vuestro panel de opciones en la sección de “Ajustes” queráis hacerlo directamente en vuestra propia sección, manejaréis la función add_menu_page.

Como veis en la referencia y sin entrar en detalles, esta función nos permite crear un menú para luego poder poner nuestras opciones dentro de él. Sin embargo, por defecto, realiza una acción que quizás no sea del todo de vuestro gusto.

¿Cuál? Básicamente queréis un menú que sea: MiPlugin, y dentro de él haya: Nuevo, Editar, Listar, por ejemplo. Para insertar las opciones, usaréis la función add_submenu_page.

¿Qué problema tendréis? El resultado será el siguiente, tras el menú MiPlugin estarán estas opciones: MiPlugin, Nuevo, Editar y Lista. ¿Por qué aparece repetido el título en la primera opción?

Leer más » 1 Comentario

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

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

Cambiar nombre de usuario a un super administrador en WordPress Network o WordPress MU

Cambiar el nombre de usuario al administrador en WordPress es una gran idea para mejorar nuestra seguridad, si además instalamos un plugin como Limit Login Attempts mucho mejor.

En una red de blogs, el usuario super administrador, es aún más importante preservarlo de posibles problemas de seguridad. Os pongo en situación, tenemos una instalación vieja de red de WordPress y el usuario es “admin”, quiero que sea otro nombre por seguridad, ¿cómo hago el cambio?

El cambio debemos hacerlo directamente con la base de datos y tiene dos partes.

Actualizar users

Primero en la tabla usuarios, que en una red de blogs WordPress es la misma para todos los sitios y será wp_users o tuprefijo_users:

UPDATE wp_users SET user_login='nuevo-nombre' WHERE user_login='admin';

Actualizar sitemeta

Pero esto no es suficiente, si hacéis sólo esto os quedaréis con un usuario con nombre nuevo pero que NO es super administrador de la red. Ahora nos dirigimos a sitemeta y hacemos un SELECT para ver el valor asociado a site_admins:

Leer más » 1 Comentario