Skip to content

CommandCreateSettingFields

rogertm edited this page Jun 20, 2025 · 2 revisions

$ php cli/wasp create:setting_fields

Descripción

Crea una nueva clase de Setting Fields usando la configuración del proyecto.

Uso

create:setting_fields [options] [--] <section> <page_slug> [<project>]

Argumentos

  • section Nombre de la sección (ej: "My Section Fields")
  • page_slug Slug de la página de administración donde aparecerá esta sección (ej: wasp-wasp-dashboard-setting)
  • project Slug del proyecto donde se debe crear el Setting Fields (ej: wasp-child). El valor predeterminado es wasp.

Opciones

  • --subpage Flag para indicar que estos campos pertenecen a una sub página de administración
  • --dry-run Si se especifica, solo simula la creación sin escribir archivos.
  • -h, --help Muestra la ayuda para este comando.

Ejemplo

php cli/wasp create:setting_fields "Tracking Codes" "wasp-wasp-dashboard-setting"

Crea un archivo en wasp/classes/setting-fields/class-wasp-setting-fields-tracking-codes.php con la siguiente estructura:

<?php
namespace WASP\Setting_Fields;

use WASP\Setting_Fields\Setting_Fields;

class Setting_Fields_Tracking_Codes extends Setting_Fields
{
    public function __construct()
    {
        parent::__construct();

        $this->slug          = 'wasp-wasp-dashboard-setting';
        $this->option_group  = 'wasp_setting';
        $this->option_name   = 'wasp_options';
        $this->section_id    = 'tracking-codes-section-id';
        $this->section_title = __( 'Tracking Codes', 'wasp' );
        $this->field_id      = 'tracking-codes-field-id';
        $this->field_title   = __( 'Tracking Codes fields', 'wasp' );
    }

    public function fields()
    {
        $fields = array(
            // Define your custom fields here...
        );

        return apply_filters('wasp_tracking_codes_custom_fields', $fields);
    }
}

Se escribe una linea de inicialización de la clase en wasp/inc/classes.php:

new WASP\Setting_Fields\Setting_Fields_Tracking_Codes;

Clone this wiki locally