La clase EDD_HTML_Elements proporciona una serie de métodos auxiliares para renderizar campos HTML de uso común con marcado, nombres de clase y atributos consistentes.
La clase incluye métodos para los siguientes tipos de campo:
product_dropdown()
Este método crea un elemento html select con productos. Los valores son product_ids y el texto son los títulos de las descargas.
Ejemplo:
echo EDD()->html->product_dropdown();
Esto crearía una lista desplegable de productos. El método toma una entrada, un array, y tiene estos valores predeterminados:
$defaults = array( 'name' => 'products', 'id' => 'products', 'class' => '', 'multiple' => false, 'selected' => 0, 'chosen' => false, 'number' => 30, 'bundles' => true, 'placeholder' => sprintf( __( 'Select a %s', 'easy-digital-downloads' ), edd_get_label_singular() ) );
Aquí hay una descripción de lo que hay en cada opción:
name
Esta sería la propiedad "name" del elemento del formulario. Predeterminado: 'products'.
Ejemplo:
class
Esta sería la propiedad "class" del elemento html. Predeterminado: nada.
Ejemplo:
id
Esta sería la propiedad "id" del elemento html. Predeterminado: 'customers'.
Ejemplo:
multiple
Esto hace que el menú desplegable sea del tipo "multiple". Predeterminado: false.
Example:

selected
Esto te permite proporcionar un customer_id y que ese sea preseleccionado cuando el formulario se cargue. Predeterminado: 0.
chosen
Esto activa el plugin jquery "chosen" en tu cuadro desplegable. Predeterminado: false.
Examples both closed and open:
![]()

número
Esto te permite establecer un límite en el número de clientes en tu lista. Predeterminado: 30.
placeholder
Este es el texto que va en la primera línea de la lista desplegable, usualmente algo como un título. El valor predeterminado es "Select a Customer".
discount_dropdown()
Este método crea un elemento html select con una lista de Descuentos. Los valores son discount_ids y el texto es el título del Descuento.
Ejemplo:
echo EDD()->html->discount_dropdown();
Esto crearía una lista desplegable de descuentos.
Entrada
Este método toma tres valores como entrada.
name
Este es el nombre del elemento html. El valor predeterminado es 'edd_discounts'.
selected
Este es el elemento que debe seleccionarse cuando se carga el cuadro desplegable. El valor predeterminado es no tener nada seleccionado, y el elemento predeterminado será el primer descuento de la lista.
status
Los descuentos pueden estar activos o inactivos. La opción ‘estado’ permite elegir uno de los dos. Por defecto, no se declara nada y se cargan todos los descuentos.
category_dropdown()
Este método crea un elemento html
select con una lista de categorías de descargas. Los valores son term_ids y el texto es el título de la categoría.
Ejemplo:
echo EDD()->html->category_dropdown();
Esto crearía una lista desplegable de categorías de descargas.
Entrada
Este método toma dos valores como entrada.
name
Este es el nombre del elemento html. Por defecto es ‘edd_categories’
selected
Este es el elemento que debe seleccionarse cuando se carga el cuadro de selección. Por defecto, no hay nada seleccionado y el cuadro de selección tendrá una opción titulada “Todas las categorías”.
year_dropdown()
Este método crea un elemento html
select con una lista de años. El texto y el valor de la opción son ambos un año de 4 dígitos.
Ejemplo:
echo EDD()->html->year_dropdown();
Esto crearía una lista desplegable de 6 años, con el año actual seleccionado por defecto.
Entrada
Este método toma dos valores como entrada.
name
Este es el nombre del elemento html. Por defecto es ‘year’
selected
Este es el elemento que debe seleccionarse cuando se carga el cuadro de selección. Requiere un entero de cuatro dígitos.
month_dropdown()
Este método crea un elemento html
select con una lista de meses. Los valores son enteros sin relleno y el texto son abreviaturas de tres letras de los meses.
Ejemplo:
echo EDD()->html->year_dropdown();
Esto crearía una lista desplegable de 12 meses, con el mes actual seleccionado por defecto.
Entrada
Este método toma dos valores como entrada.
name
Este es el nombre del elemento html. Por defecto es ‘month’
selected
Este es el elemento que debe seleccionarse cuando se carga el cuadro de selección. Requiere un entero de dos dígitos.
select()
Este método crea un elemento html
select y te permite poblarlo con cualquier array unidimensional.
Ejemplo:
echo EDD()->html->select( $args );
El método toma una entrada, un array, y tiene estos valores predeterminados:
$args = array(
'options' => array(),
'name' => null,
'class' => '',
'id' => '',
'selected' => 0,
'chosen' => false,
'placeholder' => null,
'multiple' => false,
'show_option_all' => _x( 'All', 'all dropdown items', 'easy-digital-downloads' ),
'show_option_none' => _x( 'None', 'no dropdown items', 'easy-digital-downloads' ),
);
Aquí hay una descripción de lo que hay en cada opción:
options
Este es un array unidimensional de cosas como esta:
$args['options'] = array(
'1' => 'Thing 1',
'2' => 'Thing 2',
'3' => 'Thing 3',
'4' => 'Thing 4',
);
Las claves del array se utilizan como valores de opción de selección, y los valores del array se utilizan como texto de opción de selección.
name
Esta sería la propiedad “name” html del elemento del formulario. Por defecto es null, es necesario para crear un elemento de formulario útil.
id
Esta sería la propiedad “id” html del elemento html. Por defecto está vacía.
class
Esta sería la propiedad “class” del elemento html. Por defecto está vacía.
multiple
Esto hace que el menú desplegable sea del tipo "multiple". Predeterminado: false.
Example:

selected
Esto te permite proporcionar una clave de tu array y que esa sea la preseleccionada cuando se carga el formulario. Por defecto es 0.
chosen
Esto activa el plugin jquery "chosen" en tu cuadro desplegable. Predeterminado: false.
Ejemplos, tanto cerrados como abiertos:
![]()

placeholder
Este es el texto que va en la primera línea de la lista de selección, normalmente algo como un título. El valor predeterminado es null.
show_option_all
Esto crea una opción de selección con un valor de “all” y se inserta en la lista de argumentos de esta manera:
'show_option_all' => _x( 'All', 'all dropdown items', 'easy-digital-downloads' ),
show_option_none
Esto crea una opción de selección con un valor de “-1” y se inserta en la lista de argumentos de esta manera:
'show_option_all' => _x( 'None', 'no dropdown items', 'easy-digital-downloads' ),
checkbox()
Este método crea un único
checkbox elemento html.
Note: This function does not create any wrapping HTML like .
Ejemplo:
El método toma una entrada, un array, y tiene estos valores predeterminados:
$args = array(
'name' => null,
'current' => null,
'class' => 'edd-checkbox',
'options' => array(
'disabled' => false,
'readonly' => false
)
);
Aquí hay una descripción de lo que hay en cada opción:
name
Esta sería la propiedad “name” html del elemento del formulario. Por defecto es null, es necesario para crear un elemento de formulario útil.
Nota: el nombre también se usa para el ‘id’.
current
Este es el valor preexistente del campo. Se utiliza para determinar si la casilla de verificación debe estar marcada por defecto.
class
Este es el valor del elemento html ‘class’. Por defecto es ‘edd-checkbox’.
options
Esto debe ser una matriz y puede contener dos opciones.
- disabled – Establece el campo como deshabilitado o no con true o false.
- readonly – Establece el campo como de solo lectura o no con true o false.
text()
Este método crea un elemento html de texto plano .
Ejemplo:
html->text( $args ); ?>
El método toma una entrada, un array, y tiene estos valores predeterminados:
$args = array(
'id' => '',
'name' => 'text',
'value' => NULL,
'label' => NULL,
'desc' => NULL,
'placeholder' => '',
'class' => 'regular-text',
'disabled' => false,
'autocomplete' => '',
'data' => false
);
Aquí hay una descripción de lo que hay en cada opción:
id
Esta sería la propiedad “id” html del elemento html. Por defecto está vacío.
name
Esta sería la propiedad “name” html del elemento del formulario. Por defecto es “text”.
value
Este es el valor preexistente del campo. Se utiliza para rellenar previamente el campo de texto con este valor. Por defecto es NULL.
label
This is the text wrapped in a
desc
Este es texto que está envuelto en un span con una clase “edd-description”. Se coloca entre la etiqueta y la entrada. Por defecto es NULL.
placeholder
This text is placed in the “placeholder” element of the . Rendering depends on the browser.
You can read more about the placeholder element at w3schools. Default is empty.
class
Este es el valor del elemento html ‘class’. Por defecto es ‘regular-text’.
disabled
Esto establece el campo como deshabilitado o no. Booleano, por defecto es false.
autocomplete
Esto establece el elemento de autocompletado como “on” o “off”. Por defecto está vacío, lo que equivale a activado en la mayoría de los navegadores modernos.
data
Esto acepta una matriz y crea elementos html de datos a partir de la matriz. Ejemplo:
array( 'price' => '42.00', 'variable-price' => 'no', );
La matriz anterior resultaría en que este html se colocara dentro de la entrada:
data-price="42.00" data-variable-price="no"
Por defecto es falso.
textarea()
Esto crea un área de texto HTML estándar de varias líneas.
Ejemplo:
html->textarea( $args ); ?>
El método toma una entrada, un array, y tiene estos valores predeterminados:
$args = array(
'name' => 'textarea',
'value' => null,
'label' => null,
'desc' => null,
'class' => 'large-text',
'disabled' => false
);
Aquí tienes una descripción de lo que hay en cada opción.
name
Esta sería la propiedad “name” HTML del elemento del formulario. Por defecto es “textarea”.
value
Este es el valor preexistente del campo. Se utiliza para rellenar previamente el campo de texto con este valor. Por defecto es NULL.
label
This is the text wrapped in a
desc
Este es texto que está envuelto en un span con la clase “edd-description”. Se coloca después de la etiqueta textarea. Por defecto es NULL.
class
Este es el valor del elemento HTML de ‘clase’. Por defecto es ‘large-text’.
disabled
Esto establece el campo como deshabilitado o no. Booleano, por defecto es false.
ajax_user_search()
Este método crea un campo de texto para buscar usuarios de EDD. Utiliza ajax para buscar mientras escribes y te permite hacer clic para elegir un resultado que rellene el campo.
Nota: este campo solo funciona en las páginas de administración de EDD. No en el front de WordPress, ni en otras áreas de administración de WordPress.
Ejemplo:
html->ajax_user_search( $args ); ?>
El método toma una entrada, un array, y tiene estos valores predeterminados:
$args = array(
'name' => 'user_id',
'value' => NULL,
'placeholder' => __( 'Enter username', 'easy-digital-downloads' ),
'label' => NULL,
'class' => '',
'disabled' => false,
'autocomplete'=> 'off',
);
Aquí tienes una descripción de lo que hay en cada opción.
name
Esta sería la propiedad “name” HTML del elemento del formulario. Por defecto es “user_id”.
value
Este es el valor preexistente del campo. Se utiliza para rellenar previamente el campo de texto con este valor. Por defecto es NULL.
placeholder
Este texto se muestra en el cuadro de entrada en la mayoría de los navegadores. Por defecto:
__( 'Enter username', 'easy-digital-downloads' )
label
Este texto no aparece en el front del sitio, pero se utiliza con aria para los lectores de pantalla. Por defecto es NULL.
class
Este es el valor del elemento HTML de ‘clase’. Por defecto está vacío.
disabled
Esto establece el campo como deshabilitado o no. Booleano, por defecto es false.
autocomplete
Esto establece el elemento de autocompletado como “on” o “off”. Por defecto está vacío, lo que equivale a activado en la mayoría de los navegadores modernos.
