Skip to content

Setting Fields

rogertm edited this page Sep 1, 2023 · 13 revisions

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.

Se debe crear una instancia de WASP_Admin_Page o de una clase hija que sobre escriba los valores de sus propiedades en caso de que se haya creado. Ver Página de Administración.

class My_Class_Of_Fields extends WASP_Setting_Fields
{

	function __construct()
	{
		parent::__construct();
		$admin = new WASP_Admin_Page;
		$this->slug 			= $admin->menu_slug;
		$this->option_group 	= $admin->option_group;
		$this->option_name 		= $admin->option_name;
		$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' );
		$this->wpml_field		= 'my_class_of_fields_filters_fields';
	}

	function fields()
	{
		$fields = array(
			'field_a'	=> array(
				'label'		=> __( 'Title', 'text-domain' ),
				'meta'		=> 'field_a',
				'type'		=> 'text',
				'lang'		=> array(),
			),
			...
		);

		/**
		 * Filters the fields
		 * @param array $fields
		 */
		return apply_filters( 'my_class_of_fields_filters_fields', $fields );
	}
}
new My_Class_Of_Fields;

Clone this wiki locally