Skip to content

Setting Fields

rogertm edited this page Jun 20, 2025 · 13 revisions

abstract class Setting_Fields

WASP usa la Settings API de WordPress para agregar campos a la Página de Administración, con tal objetivo debemos crear una nueva clase que extienda a WASP\Setting_Fields\Setting_Fields.

Se debe crear una clase hija de WASP\Admin\Admin_Page o WASP\Admin\Admin_Sub_Menu_Page.

Wasp Cli

  • [create:setting_fields|CommandCreateSettingFields]
php cli/wasp create:setting_fields "Tracking Codes" wasp-wasp-dashboard-setting

wasp/classes/setting-fields/class-wasp-setting-fields-tracking-codes.php

<?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);
    }
}

Las propiedades slug, option_group y option_name tienen que coincidir con menu_slug, option_group y option_name de la clase WASP\Admin\Admin_Page respectivamente, o de una clase hija de esta, o de una clase creada para generar un submenú de la Página de Administración.

Para recuperar el valor de cada campo definido en el método fields() se debe acceder al método get_option() de la clase:

$var = new WASP\Setting_Fields\Setting_Fields_Tracking_Codes;
echo $var->get_option( 'field_name' );

Referencias

Clone this wiki locally