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

[WordPress] Mostrar mensaje en el área de administración

Cuando desarrollamos un plugin o un tema en WordPress es muy posible que deseamos notificar al administrador del sitio de algún evento. Normalmente para mostrar un error o simplemente para informar de la nueva página de opciones para esa extensión.

Como veis en la imagen de arriba, la interfaz en sencilla y se integra perfectamente dentro de nuestro tema de administración. Sólo necesitamos tener dos cosas en cuenta: hacer uso del id=”message” con la clase que deseemos (en el ejemplo he usado class=”updated” aunque podéis usar class=”error” si deseáis mostrar un error); y controlar el hook dónde deseemos

Dentro de, por ejemplo el plugin o en el functions.php del tema (según corresponda), incluiremos la siguiente función, que muestra el mensaje:

function mostrarMensajeAdmin()
{
     echo '<div id="message" class="updated">
           <p>Este es <strong>el mensaje</strong> que deseamos mostrar,
           muy útil cuando queremos <a>vincular algún elemento</a>
           </p></div>';
     // Y si queremos sólo mostrárselo a los usuarios administradores
     if (user_can('manage_options') {
          echo'<div id="message" class="updated">
               <p>¡Hola administrador!</p></div>';
     }
}

Finalmente, para lanzarlo, usamos añadimos un hook en la parte dónde deseamos controlar su ejecución para ser mostrado:

add_action('admin_notices', 'mostrarMensajeAdmin');

Leer más » 1 Comentario

Integrar un plugin dentro de un tema en WordPress

Aunque el título parezca algo extraño, así es. Si tenemos un plugin que realiza una serie de funciones que queremos distribuir junto con nuestro tema, siempre podremos integrarlo dentro del mismo y así conseguir que al instalar el tema se tengan las funciones del plugin. No os preocupéis por la integración, salvando algún problema derivado de que el plugin lea alguna ruta mal definida (por culpa del autor del plugin) no deberíais tener ningún problema de integración: podréis ver su menú de administración, podréis usar sus shortcode si los tiene, podréis guardar preferencias, etc. no hay problemas en ese sentido gracias a la magia de WordPress su modularidad y lo bien que se adapta al espacio de nombres de PHP. ¿Cómo se hace?

  1. Copia y pega en el raíz de tu tema el directorio del plugin
  2. En el functions.php de tu tema incluye el siguiente código: require_once (get_template_directory() . ‘/miplugin/miplugin.php’ ); siendo “miplugin” el directorio del plugin en cuestión y el fichero que sigue el fichero principal del plugin
  3. Borra del fichero principal del plugin la metainformación que lo define, será un bloque de comentarios que comenzará de la siguiente forma:
Leer más » 1 Comentario

Cambiar la dirección URL del inicio de sesión en WordPress

Si estamos usando WordPress como CMS en un desarrollo, querremos personalizar en la medida de lo posible al máximo cosas básicas como son la administración del sitio y relacionado con esto: la URL de acceso.

Por costumbre usando otros CMS o por intentar familiarizar más el acceso al inicio de sesión, es una buena idea cambiar wp-admin o wp-login.php por algo más sencillo como administracion. Por ejemplo: http://www.miempresa.com/administracion es mucho más intuitivo para un cliente que http://www.miempresa.com/wp-login.php.

Tenemos dos formas de hacerlo.

Con el fichero .htaccess

La idea es incluir la redirección dentro del fichero, sólo debemos incluir la siguiente línea:

Leer más » 10 Comentarios

10 pasos básicos para asegurar una instalación WordPress

WordPress consejos de seguridadLa seguridad es un punto básico en un blog, portal, red social, foro… o cualquier otra aplicación realizada con WordPress. Os comento 10 pasos básicos, que deberéis realizar para estar seguros de tener una instalación WordPress sin problemas de seguridad (al menos con la menor cantidad de problemas posibles).

Esta entrada es una traducción, adaptación y mejora del original en inglés: 10 Basics Steps To WordPress Security de Designrfix.

Manten el núcleo de WordPress actualizado

El equipo entero de desarrolladores y colaboradores de WordPress hace un gran trabajo para tratar de tener los problemas de seguridad a raya, si no mantenemos actualizado el núcleo, este trabajo servirá para nada. En otros CMS (aún recuerdo las actualizaciones que hacía en Drupal) son más complejos, pero en WordPress con un sólo clic hasta actualizado. No hay excusa.

Manten también los plugins y los temas actualizados

Ídem que el anterior, pero esta vez me refiero a los plugins y a los temas. Si estáis usando un tema propio, en el que partís de otro anterior, recordad usar temas hijos.

Leer más » 1 Comentario

Limpia un título de caracteres conflictivos con WordPress para convertirlo en una URL

Los enlaces permanentes o pretty permalinks son una bonita forma de hacer que el título de las entradas pase a una URL sin afectar al formato de éstas. De igual forma, si estamos trabajando en un sistema que requiera tratamiento de ficheros y subida/bajada de éstos, debemos también atender a este problema de convertir títulos con multitud de símbolos en URL válidas y que no introduzca caracteres como los %20 en lugar de los espacios en blanco.

Os traigo una función, que viene incluida dentro de WordPresssanitize_title_with_dashes(), que hace justo eso mismo y que os puede ser muy útil desarrollando cualquier tema o plugin. Para el caso concreto de nombres de ficheros tenemos sanitize_file_name( $filename ) que hace eso mismo pero con nombres de fichero.

¿Qué hace la función?

Limpia el título, reemplazando espacios en blancos y otros caracteres conflictivos por guiones. Devuelve el título equivalente, usando sólo caracteres alfanuméricos, barras bajas y guiones.

Leer más » 1 Comentario

Añadir una hoja de estilos CSS a un tema o plugin WordPress

Cuando trabajamos desarrollando para WordPress, no debemos incluir ficheros CSS de la forma tradicional (usando las etiquetas <style> o <link>), sino que debemos utilizar una función creada para tal efecto, que nos asegura una forma segura y correcta de hacerlo.

Desarrollo con WordPress

La idea es la siguiente:

Para ello usaremos una función que se encargue de ello y la llamaremos según nos convenga, en nuestro caso, la asociaremos a una acción. Veamos el código en cuestión:

Leer más » 8 Comentarios

Desactivar actualizaciones automáticas de temas en WordPress

Cuando comenzamos a trabajar en el desarrollo de temas con WordPress, es muy frecuente que empecemos modificando temas. Los más populares para estos casos: Twenty Ten y Twenty Eleven (los temas por defecto). ¿Qué ocurre? Si no hacemos un tema hijo, al actualizarse el tema, machacará nuestras modificaciones.

Si quieres desactivar la actualización automática de temas, lo cuál no lo recomiendo porque las actualizaciones existen para mejorar aspectos de seguridad y mejoras en general, tenemos dos opciones.

Cambio de nombre de directorio

La primera opción es renombrar el directorio. Para ello, desactivamos el tema si es que lo estamos usando, renombramos el directorio del mismo (/wp-content/themes/nombreTema) y tras refrescar la lista de temas disponibles dentro del Escritorio en “Apariencia -> Temas”, lo activamos de nuevo.

Este mecanismo sólo desactivará las actualizaciones automáticas para este tema en concreto.

Leer más » 1 Comentario

¿Cómo conocer desde un plugin el directorio del fichero wp-config.php en WordPress?

Si estamos desarrollando un plugin para WordPress, en ocasiones, necesitaremos llegar al fichero wp-config.php para hacer una serie de comprobaciones o para leer unos datos de configuración.

Sin embargo, no siempre será la misma ruta ya que nuestro plugin o tema puede que esté instalado en un directorio no estándar o que la llamada se haga estando en un directorio a un nivel distinto. Para ahorrarnos problemas de rutas os presento el método siguiente:

while(!is_file('wp-config.php')){
  if(is_dir('../')) 
      chdir('../');
  else 
      die('Could not find WordPress.');
}

Leer más » 1 Comentario