Skip to content
rogertm edited this page Apr 8, 2026 · 12 revisions

CodeFactor

WASP 🐝 • Woew! Another starter plugin

Introducción

WASP es un starter plugin que facilita el desarrollo con WordPress. Con él podrás crear tus propios plugins de manera rápida, fácil y sencilla. WASP Puede ser usado como framework para crear Custom Post Types, Taxonomías, Meta Boxes, Páginas de administración, Terms Meta, Users Meta, etc.

WASP provee un conjunto de clases a las que solo le debes pasar un grupo de parámetros para crear los elementos que componen tu plugin.

Tan fácil como:

<?php
namespace WASP\Post_Type;

use WASP\Posts\Post_Type;

class Post_Type_Book extends Post_Type
{
    public function __construct()
    {
        parent::__construct();

        // CPT slug
        $this->post_type = 'wasp-book';

        // CPT labels
        $this->labels = array(
            'name' => _x( 'Book', 'Post type general name', 'wasp' )
        );

        // CPT arguments
        $this->args = array(
            'public' => true
        );
    }
}

new WASP\Post_Type\Post_Type_Book;

Instalación

Manual

WASP se instala como cualquier otro plugin de WordPress, para ello debes descargar la última versión, descompactar el archivo .zip y copiar su contenido en el directorio wp-content/plugins/ de tu instalación de WordPress. O subirlo usando el instalador de plugins de WordPress.

Instalar vía Git

Puedes clonar este repositorio directamente desde GitHub.

$ cd /path/to/your/wordpress-site/wp-content/plugins/
$ git clone git@github.com:rogertm/wasp.git

Modo de uso

Puedes usar este plugin de dos maneras:

Plantilla

Puedes generar tu propio repositorio a partir de este y usarlo como un template, solo debes pulsar el botón Use this template que aparece en el encabezado de este repositorio.

Es recomendable; pero no obligatorio, cambiar algunas cosas para una mayor facilidad a la hora de trabajar:

  1. Namespace: Buscar WASP\ y reemplazar por Your_Namespace\.
  2. Prefijo de funciones: Buscar wasp_ y reemplazar por your_function_prefix_.
  3. Text domain: Buscar 'wasp' (entre comillas simples) y reemplazar por 'your-text-domain'.
  4. Slug: Buscar wasp- y reemplazar por your-slug-.
  5. Comentarios y documentación: Buscar WASP y reemplazar por Your project name.
  6. Archivos: Buscar todos los archivos dentro del directorio /classes y cambiar el slug de cada uno por el que se ha especificado en el paso 4. Ej: class-wasp-admin-page.php por class-your-slug-admin-page.php. Hacer lo mismo con el archivo wasp.phpen la raíz del plugin.
  7. Editar la cabecera del plugin según sea necesario.

Es importante seguir estos pasos en el mismo orden que se muestran.

Child Plugin

Yes, a Child Plugin!

Puedes desarrollar tu propio plugin y heredar a todas las funcionalidades que brinda WASP creando un Child Plugin.

<?php
/**
 * Plugin Name: WASP Child 🐝
 * Description: Wow! Another starter "Child" plugin
 * Plugin URI: https://github.com/rogertm/wasp
 * Author: RogerTM
 * Author URI: https://rogertm.com
 * Version: 1.0.0
 * License: GPL2
 * Text Domain: wasp-child
 * Domain Path: /languages
 */

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) )
    die;

if ( file_exists( WP_PLUGIN_DIR .'/wasp/wasp.php' ) )
	require WP_PLUGIN_DIR .'/wasp/wasp.php';
else
	wp_die( __( 'This plugin requires WASP', 'wasp-child' ), __( 'Bum! 💣', 'wasp-child' ) );

/** Your code goes here 😎 */

Wasp CLI

Puedes usar WASP desde la línea de comandos para generar clases y crear child plugins. Instala dependencias y verifica la CLI:

cd /path/to/your/wordpress-site/wp-content/plugins/wasp
composer install
php cli/wasp list

Ejemplo rápido:

php cli/wasp create:post_type "Book"

Lista de comandos

project:

  • project:new Crea un nuevo child plugin que hereda de WASP.
  • project:rename Renombra cadenas y archivos en este plugin usando la configuración existente.

create:

  • create:admin_page Crea una clase para Página de Administración.
  • create:admin_subpage Crea una clase para Subpágina de Administración.
  • create:setting_fields Crea una clase para Setting Fields.
  • create:post_type Crea una clase para Custom Post Type.
  • create:meta_box Crea una clase para Meta Box.
  • create:taxonomy Crea una clase para Taxonomy.
  • create:term_meta Crea una clase para Term Meta.
  • create:user_meta Crea una clase para User Meta.
  • create:shortcode Crea una clase para Shortcode y su template.
  • create:custom_columns Crea una clase para Custom Columns.

Nota

Cada comando genera archivos base en el directorio correspondiente y registra la clase en inc/classes.php. Consulta Wasp Cli para ejemplos completos, --dry-run, uso con <project> y autocompletado.

Licencia

WASP es un programa de código abierto y se distribuye bajo licencia GNU General Public License v2.0.

Happy coding!

Clone this wiki locally