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:

Los mejores plugins para WordPress

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

Top WordPress Plugins

Lifehacker