Testear un plugin de WordPress con PHPUnit

Algo que casi nunca hago, pero que debería ser obligatorio, es realizar pruebas unitarias de los plugins que realizo en WordPress. Si normalmente casi no tengo tiempo de realizarlos con detalle, imagínate hacer pruebas unitarias.

Para realizar esas pruebas voy a hacer uso de PHPUnit, el cual no voy a explicar cómo usarlo, pero sí voy a poner el bootstrap.php que uso:

// Cargar WP, la ruta supuestamente está en el directorio wp-content/plugins
define('WP_PATH', dirname(__FILE__).'/../../..');
include(WP_PATH.'/wp-load.php');

/**
 * Loads/activates a plugin
 */
function run_activate_plugin( $plugin ) {
    $current = get_option( 'active_plugins' );
    $plugin = plugin_basename( trim( $plugin ) );

    if ( !in_array( $plugin, $current ) ) {
        $current[] = $plugin;
        sort( $current );
        do_action( 'activate_plugin', trim( $plugin ) );
        update_option( 'active_plugins', $current );
        do_action( 'activate_' . trim( $plugin ) );
        do_action( 'activated_plugin', trim( $plugin) );
    }

    return null;
}
// Activa el plugin si no lo está, que no debería al estar en testing...
run_activate_plugin( 'wordpress-nonce-object/class-wp-nonce.php' );

Crear un plugin para WordPress con su propia tabla

Interesante artículo en el que nos explican cómo crear un plugin de wordpress usando su propia tabla, algo que no suele necesitarse porque para almacenar datos propios se usan las “options”, pero en algún momento podemos necesitarlo.

Nos explica paso a paso qué hay que hacer:

  • Declarar la función y las variables globales que se necesitan
  • Darle un nombre a nuestra tabla y usar el prefijo de WP
  • Comprobar que la tabla no existe y si no, crearla
  • Añadir la funcionalidad a WordPress
  • Añadir datos a la nueva tabla

Create a Plugin With Its Own Custom Database Table

Algunos scripts para jQuery

He encontrado en Script & Style algunos scripts/pluigns para jQuery que son interesantes:

WP Plugins: nuevo sitio de plugins para WordPress

wpplugins.pngHa salido un nuevo sitio sobre plugins para WordPress. Entre sus características tenemos que se pueden votar, nos muestra estadísticas sobre el número de veces que se ha descargado, versión, web del plugin, web del autor, tags, descripción, screenshots y comentarios por los usuarios.
Otro sitio más de plugins para WordPress que merece la pena echar un vistazo.
WP Plugins
Vía / dzone

Los mejores plugins para WordPress

wp.pngBueno, si no son los mejores, al menos es una muy buena lista para tener en cuenta:

  • Akismet: Filtro contra el spam que usa el servicio Akismet para saber si es spam o no.
  • Ultimate Tag Warrior: sistema de tags, para añadir categorías y etiquetas a tu blog.
  • Exec-PHP: ejecuta código PHP en entradas o páginas estáticas.
  • Google Sitemaps: crea sitemaps que gustan a Google.
  • No Ping Wait: aumenta la velocidad de la creación de entradas al mover los pings a execute-pings.php.
  • PXS Mail Form: crea un formulario mail con verificación multipart, varios mensajes y un auto-redireccionamiento cuando se envia correctamente.
  • Super Archive: sistema de archivo dinámico, nos permite buscar entradas publicadas por su fecha de forma dinámica.
  • SRG Clean Archives – otro sistema de archivo.
  • WP lightbox 2: permite mostrar imágenes sobre la página usando lightbox JS.
  • fQuick: para mostrar notas.
  • CG-FlashyTitles:implementa sIFR 2.0 Flash-based para mostrar títulos con WP.
  • flickrRSS: integra las fotos del feed de flickr.
  • Feedburner Feed Replacement: reemplaza tus feeds por Feedburner.
  • Gravatars: añade un avatar a los comentarios de los visitantes.
  • Get Recent Comments: muestra los últimos comentarios.
  • WP Paginate: crea paginación para las páginas.
  • wp-notable: añade enlaces a digg o del.icio.us a cada entrada.
  • Adsense-Deluxe: soporte para Adsense.
  • WP-ContactForm: un modo para que la gente contacte contigo si mandar un email.
  • PodPress: para crear podcasts.
  • Related Posts: enlaces relacionados a la entrada actual.
  • WP-Cache: caché de las páginas de WP para mejorar la velocidad y la respuesta del blog.

Top WordPress Plugins

Lifehacker