Modifica la pestaña de ayuda de WordPress

This post was published 8 years ago. It may be exremely outdated.
Ayuda contextual modificada

Ayuda contextual modificada

En WordPress 2.7 se añadió un nuevo elemento al Panel de Administración: la pestaña de ayuda / ayuda contextual. Esta pestaña ofrece algo de información en las páginas de edición de artículos o en el escritorio, pero no sirve de mucho en las páginas de los plugins. Esto se debe a que para poder dar ayuda sobre nuestro plugin debemos recurrir a los filtros, sin embargo el filtro que afecta a la ayuda contextual no aparece en la documentación.

No obstante, una vez conocemos el nombre del filtro, que por cierto es contextual_help, es realmente fácil modificar el contenido, aunque debemos tener cuidado y prestar atención a las ocasiones en las que añadimos nuestra función al filtro, ya que nos descuidamos podemos hacer que la ayuda de nuestro plugin aparezca en todas las páginas, y esto no es lo que queremos.

Para añadir nuestra función sólo cuando se accede a la página de nuestro plugin debemos recurrir a una acción, llamada load-X, donde X es la página de nuestro plugin (en realidad puede ser cualquier página del Panel de Administración). El valor de X debe ser el que devuelve la función add_submenu_page (o add_N_page) para que se aplique correctamente la función.

Dicha la teoría, pasemos a la práctica:

// Añadimos un enlace al menú
$pagina = add_submenu_page('wp-carousel', 'Carousel Z', 'Carousel Z', 'administrator', 'edit-carousel', 'wp_carousel_carousel_options_page');
// Modificamos la pestaña de ayuda
add_action('load-'.$pagina, 'wp_carousel_custom_help_tab');
// Esta función añade la segunda función al filtro
function wp_carousel_custom_help_tab() {
// Añadimos al filtro
add_filter('contextual_help', 'wp_carousel_custom_help_tab_filter');
}
// Esta función cambia el contenido que se muestra
function wp_carousel_custom_help_tab_filter($help) {
echo "<h5>".__('WP Carousel's Quick Help', 'wp_carousel')."</h5>"; // Nuevo contenido
echo "<p>".__('You can find help here, here and here', 'wp_carousel').".</p>"; // Nuevo contenido
printf ("<p>".__('Please, fill up <a href="%s">this survey</a> in order to improve WP Carousel', 'wp_carousel').".</p>", WP_CAROUSEL_SURVEY); // Nuevo contenido
echo $help; // Imprimos también el contenido que hay por defecto
}

Como podéis ver, el funcionamiento es bastante sencillo.

PD: Sí, este código es parte de WP Carousel 0.5. Hacer uso de la pestaña de ayuda contextual es una de las novedades de la próxima versión, aunque es una de las novedades menos interesantes…

Segunda y tercera actualización de WP Carousel 0.4

This post was published 9 years ago. It may be exremely outdated.

Hoy ha sido reportado en el foro un bug importante que afecta a WP Carousel 0.4.0.x y WordPress 2.8.x. El bug consiste en que la función add_theme_support no existe en versiones anteriores a WordPress 2.9 y al tratar de llamarla directamente, el script falla y no se puede activar el plugin.

Este fallo está arreglado en la versión 0.4.0.2 de WP Carousel, que en las próximas horas estará disponible en el servidor de WordPress (lo que tarde en actualizar los datos sobre la última versión, ya que ésta ya está en el repositorio), sin embargo este bug no es el único que se arregla en esta versión, sino que hay otros 4 más que no han sido reportados pero sí arreglados.

Para comenzar, se ha actualizado la traducción de WP Carousel, que ahora también traduce el texto que precede al código que se debe poner para mostrar el carrusel (antes siempre estaba en inglés, ahora la traducción española está disponible), por otro lado se ha arreglado un error en el código HTML del theme default-sidebar que consistía en que una capa (div) estaba abierta pero no se cerraba. Ahora WP Carousel y WP Main Menu son compatibles. Anteriormente no lo eran porque olvidé renombrar la variable $path, que indicaba rutas a ciertas carpetas y archivos. Realmente sólo he visto que afecta al gestor de themes, pero realmente podría afectar a muchas más cosas así que he renombrado esta variable a $wp_carousel_path, eliminado posibles repeticiones (en la próxima versión de WP Main Menu renombraré también la variable). Por último se ha arreglado un fallo en el gestor de themes que hacía que en los datos de la versión theme activado siempre se mostrase el valor 1.1, en lugar del valor correspondiente.

Disculpad la cantidad de bugs de estas versiones. Las prisas por liberarlo han acabado haciendo que no revisase bien los fallos. Al menos son fallos fáciles de arreglar y a las pocas horas ya hay una nueva versión disponible, pero disculpadme de nuevo.

Edito: He encontrado un bug más, que hacía que no se mostrase la lista desplegable para seleccionar el contenido que se debe añadir al carrusel. Este error es el único que arregla la versión 0.4.0.3.

WordPress 2.8.6: Actualización de seguridad

This post was published 9 years ago. It may be exremely outdated.

WordPressEl pasado jueves 12 de noviembre se liberó la versión 2.8.6 de WordPress., una actualización de seguridad muy recomendable para aquellos blogs que tengan más de un autor, y es que esta versión soluciona dos fallos de seguridad que sólo se pueden explotar siendo un usuario registrado con permisos de autor y teniendo la sesión iniciada.

Concretamente, el primero de los dos fallos de seguridades una vulnerabilidad XSS en Press This (un enlace que podemos añadir a los favoritos (marcadores) de nuestro navegador para abrir una pequeña ventana con un editor para publicar un artículo sin necesidad de entrar en el Panel de Administración del blog), descubierta por Benjamin Flesch.

El segundo fallo lo descubrió Dawid Golunski, y se trata de un problema al renombrar los archivos que subimos al servidor, que pueden ser alterados en ciertas configuraciones de Apache.

Aunque son fallos que sólo se pueden ser explotados por usuarios con permisos de autores, es muy recomendable actualizar a esta versión.

Descarga WordPress 2.8.5, una actualización de seguridad

This post was published 9 years ago. It may be exremely outdated.

WordPressAyer salió a la luz una vulnerabilidad bastante grave de WordPress 2.8.4 relacionada con los trackbacks y los ataques de denegación de servicio (DOS). A diferencia de los administradores fantasmas, este error sí que afecta a WordPress 2.8.4 y de forma bastante grave.

WordPress 2.8.5 además de solucionar este fallo, arregla un par de bugs más y elimina llamadas innecesarias a ciertas funciones, aunque a nivel de funciones y novedades que se puedan ver a simple vista, no hay nada nuevo.

Podéis descargarlo desde aquí.

WordPress 2.8.4 disponible de nuevo, esta vez en español

This post was published 9 years ago. It may be exremely outdated.
Actualiza a 2.8.4

Actualiza a 2.8.4

Si habéis entrado los últimos días al Panel de Administración de vuestro WordPress 2.8.4 habréis advertido que hay una nueva actualización disponible a la versión 2.8.4. Podríamos pensar que se trata de un bug de WordPress o de la solución al problema de los Administradores Fantasmas.

Pues no, no se trata de eso, si no de que ya está disponible la versión 2.8.4 de WordPress totalmente traducida al español gracias a AyudaWordPress. Actualizando a esta versión tendremos WordPress totalmente traducido a nuestro idioma, haciendo un poco más fácil la administración de la web.

Sin duda, era una actualización que muchos llevábamos esperando desde hacía bastante tiempo. Muchas gracias AyudaWordPress por vuestra genial traducción.

Otra solución al Administrador Fantasma de WordPress

This post was published 9 years ago. It may be exremely outdated.

Vía AyudaWordPress descubro una solución alternativa al plugin que propuse ayer y probablemente más eficaz. Se trata de otro plugin creado por _ck_ que cierra la conexión a las páginas con URLs que contengan eval o base64 siempre que tengan más de 255 caracteres.

Para instalarlo basta con poner el siguiente código en un archivo .php, subirlo a la carpeta plugins (dentro de wp-content) y activarlo desde el Panel de Administración de WordPress.

<?php
/*
Plugin Name: Block Bad Queries
*/
if (strlen($_SERVER['REQUEST_URI'])>255 ||
    strpos($_SERVER['REQUEST_URI'],"eval(") ||
    strpos($_SERVER['REQUEST_URI'],"base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
?>

Esta solución no estra en conflicto con el plugin que publiqué ayer, por lo que si usando sólo uno de los dos no os sentís del todo seguros, podéis activar ambos.

PD: Parece que al contrario de lo que pensaba, WordPress 2.8.4 no se ve afectado por este error, por lo que si tenéis WordPress actualizado no hace falta que os calentéis la cabeza con el tema de los Administradores Fantasmas. De todos modos, ambos plugins deberían funcionar sin problemas en WordPress 2.8.4, por lo que si aún así no os sentís seguros, dejadlos activados.

Solución temporal al problema del Administrador Fantasma de WordPress

This post was published 9 years ago. It may be exremely outdated.

Vía AyudaWordpress descubro un error que afecta a todas las versiones de WordPress (incluída la actual) que permite a un usuario con malas intenciones crear una cuenta de administrador mediante una inyección SQL a la Base de Datos de WordPress, lo que se traduce en que un hacker puede hacerse con el control del blog.

Mientras se arregla este problema, yo he creado una solución algo radical y temporal en formato de plugin. Bien, mi solución es la siguiente: Se le dice al plugin el número de administradores que debería haber. El plugin analiza la tabla de usuarios, y si detecta más usuarios administradores (ojo, sólo administradores) de los que debería haber, te muestra una lista con las IDs y los nombres de usuario de probables Administradores Fantasmas (las últimas cuentas de usuarios administradores).

Un ejemplo práctico: Tenemos 10 usuarios, con ID 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10. Los usuarios con ID 1 y 3 son administradores, mientras que el usuario con ID 9 es un Administrador Fantasma. El plugin te propondrá borrar al usuario con ID 9. Bien, si en lugar de ser el usuario con ID 9 el Administrador Fantasma fuese el usuario con ID 2, te propondría borrar al usuario con ID 3. Como veis no es perfecto, pero un método sencillo para eliminar probables fantasmas.

Si se ha detectado algún probable Administrador Fantasma, se mostrará la opción de eliminarlo de la Base de Datos. Otra opción que permite es que elimine automáticamente a los Administradores Fantasmas cada vez que se carga una página del blog (se añade la función de borrado a wp_head). Este método es bueno si sólo hay un administrador y no queremos tener que comprobar manualmente los probables fantasmas.

Para un análisis más fiable, os recomiendo seguir los siguientes pasos:

  1. Haced una copia de seguridad de la Base de Datos de WordPress y exportad los artículos, las páginas y los comentarios del blog.
  2. Cambiad los permisos de todos los adminsitradores normales de vuestro blog a suscriptores excepto al primer administrador de la Base de Datos. El primer administrador de la Base de Datos suele tener la ID 1, ése es el administrador al que no deberéis modificar los permisos, a los demás administradores reales cambiadles los permisos a suscriptor. Así evitaréis falsos positivos y el plugin no detectará a vuestros administradores reales como fantasmas.
  3. Instalad el plugin e introducid 1 en el campo de administradores del blog de la página de opciones del plugin (que está dentro de la página de usuarios). A continuación recargad la página y fijáos en el resultado del análisis que podéis ver en la parte inferior de la página.
  4. Si veis que hay algún probable Adminsitrador Fantasma, comprobad realmente que no es ninguno de los administradores reales de vuestro blog y si realmente es un Administrador Fantasma, haced clic en el enlace que veréis al final de la página para borrar todos los usuarios que aparecen en la lista.
  5. Si el análisis os indica que no hay probables Adminstradores Fantasmas, felicidades, vuestro blog es seguro.

La opción de borrado automático de los usuarios tiene un par de problemas, para comenzar, eliminará todos los probables Administradores Fantasmas, por lo que un falso positivo puede ser irreversible. Por otro lado, este sistema borra sólo los datos de la tabla wp_users, y WordPress también almacena datos en la tabla wp_usermeta, por lo tanto quedará información. Lo más recomendable es volver a la página de opciones del plugin y borrar los Administradores Fantasmas desde el enlace que hay al final de la página.

La solución es temporal y no soluciona el problema, tan sólo lo evita. Es por esto que lo más recomendable es actualizar a la versión 2.8.5 de WordPress cuando sea liberado, ya que esta versión sí que tiene el problema solucionado.

Por último, podéis descargar el plugin desde aquí.

Edito: Parece que al contrario de lo que pensaba, WordPress 2.8.4 no se ve afectado por este error, por lo que si tenéis WordPress actualizado no hace falta que os calentéis la cabeza con el tema de los Administradores Fantasmas. De todos modos, ambos plugins deberían funcionar sin problemas en WordPress 2.8.4, por lo que si aún así no os sentís seguros, dejadlos activados.

Descarga WordPress 2.8

This post was published 9 years ago. It may be exremely outdated.

A principios de semana comenté que estaba disponible la RC1 de WordPress 2.8, y publiqué una pequeña tabla comparando el tiempo pasado entre el lanzamiento de cada RC de WordPress 2.7 y su versión final con la RC de WordPress 2.8 y su posible versión final.

Los desarrolladores de WordPress no han cumplido el plazo previsto por sólo un día, lo que es realidad no está nada mal, así que desde hoy ya está disponible para descargar WordPress 2.8.

Entre las principales novedades se encuentran:

  • Instalador de Themes (antes sólo estaba el instalador de plugins)
  • Resaltado del código del editor de Themes y de Plugins con CodePress
  • Se puede revisar la documentación desde el editor de Themes y de Plugins
  • Los widgets del Tablero (dashboard) se pueden colocar hasta en 4 columnas
  • Iconos de administración mejorados (ahora son sombras semi-transparentes)
  • Añadida la columna “Puntuación” en Administración -> Links -> Editar.
  • Mejorada la interfaz de los Widgets
  • Soporte para más de una galería de imágenes en un mismo artículo
  • Añadido el campo “descripción” para las tags
  • Actualizado TinyMCE a la versión 3.2.3
  • Añadido Jcrop 0.9.8 para recortar imágenes
  • Actualizado jQuery a la versión 1.3.2

Para actualizar tu blog, descarga WordPress 2.8 o utiliza el actualizador que hay en el menú Herramientas del Panel de Administración.

Por último, os dejo un vídeo sobre WordPress 2.8:

WordPress 2.8 RC1

This post was published 9 years ago. It may be exremely outdated.

Ayer fue liberada la primera versión candidata (Release Candidate) de WordPress 2.8, y se puede descargar aquí.

Os recuerdo que estaba previsto el lanzamiento de WordPress 2.8 para el miércoles 10 de junio, es decir, pasado mañana, aunque si nos fijamos en el tiempo que hubo entre el lanzamiento de la primera versión candidata de WordPress 2.7 y la versión final, podemos pensar que estará disponible la próxima versión dentro de unos 10-15 días.

Versión: Fecha:
WordPress 2.8 Final ¿10-6-2009?
RC1 7-6-2009
WordPress 2.7 Final 11-12-2008
RC2 10-12-2008
RC1 1-12-2008

WordPress 2.8 el 10 de junio

This post was published 9 years ago. It may be exremely outdated.

Revisando el blog de los desarrolladores de WordPress he advertido que han añadido la fecha del lanzamiento de la versión 2.8 de WordPress, que será el día 10 de este mismo mes, es decir, el miércoles de la semana que viene.

Las novedades que incluirá WordPress 2.8 ya las comenté en otro artículo, aunque también podéis encontrarlas en el Codex de WordPress.

Aunque dejando de lado la fecha de lanzamiento, en el artículo también añaden que el actualizador de WordPress (no deja claro si el de la versión 2.8 o la 2.9) nos aconsejará actualizar nuestra versión de PHP a la versión 5 y, esta vez sí, el actulizador de WordPress 2.9 no nos dejará actualizar el blog si no usamos MySQL 4.1.2 o superior.