Skip to content

Setting Fields

rogertm edited this page Apr 16, 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.

<?php
use WASP\Setting_Fields\Setting_Fields;

class My_Plugin_Admin_Page_Setting_Fields extends Setting_Fields
{

	function __construct()
	{
		parent::__construct();
        
		$this->slug 			= 'my_plugin-setting';
		$this->option_group 	= 'my_plugin_setting';
		$this->option_name 		= 'my_plugin_options';
		$this->section_id 		= 'my-section-id';
		$this->section_title 	= __( 'My section title', 'text-domain' );
		$this->field_id 		= 'my-field-id';
		$this->field_title 		= __( 'My field title', 'text-domain' );
	}

	function fields()
	{
		$fields = array(
			'field_name'	=> array(
				'label'		=> __( 'Title', 'text-domain' ),
				'meta'		=> 'field_name'
			),
			/** more fields here */
		);

		return $fields;
	}
}
new My_Plugin_Admin_Page_Setting_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 My_Plugin_Admin_Page_Setting_Fields;
echo $var->get_option( 'field_name' );

Referencias

Clone this wiki locally