¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Descripción

wpforms_frontend_output se dispara antes de que se muestre un formulario en el frontend del sitio y dentro del contenedor HTML del formulario. Solo se disparará si el formulario existe y contiene campos.

Parámetros

$form_data
(array) Configuración/datos del formulario procesados, preparados para ser utilizados más adelante.
$form
(WP_Post) Tipo de publicación del formulario.

Origen

wpforms/src/Frontend/Frontend.php

Más Información

Mientras que wpforms_frontend_output solo se dispara para formularios válidos y no vacíos, se ejecuta al principio del proceso de renderizado de la salida. Sin embargo, lo que coloques con esta acción se mostrará dentro del contenedor HTML form.

Una acción alternativa a considerar es wpforms_frontend_output_before, ya que funciona de manera similar, excepto que estará fuera del contenedor HTML del formulario.

Ejemplos

En nuestro ejemplo, tenemos un formulario que se desactivará el día de Navidad. Queremos mostrar un mensaje encima del formulario que calcule la fecha de hoy menos el día de Navidad y le dé al usuario un recuento de cuántos días quedan para enviar el formulario.

/**
 * Output something before your form(s).
 * 
 * @link  https://wpforms.com/developers/wpforms_frontend_output/
 *
 * @param array   $form_data Form data and settings.
 * @param object  $form      Form post type.
 */

function wpf_dev_frontend_output( $form_data, $form ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #898.
    if ( absint( $form_data[ 'id' ] ) !== 898 ) {
    return;
    }

	// Set the PHP timezone
	date_default_timezone_set( 'America/New_York' );

	// Set the variable to Christmas day
	$christmasDay = strtotime( 'December 25' );

	// Get the current date
	$time = time();

	// Calculate how many days from today's date to Christmas day	
	$days = ceil(($christmasDay - $time)/60/60/24);

	echo '<div class="countdown_wrapper"> <p>' . __( 'This contest closes on <strong>12/25/2024</strong>, enter now! There are only <strong>', 'text-domain' ) . $days . __( '</strong> days left to enter!', 'text-domain' ) . '</p></div>';
	
}

add_action( 'wpforms_frontend_output', 'wpf_dev_frontend_output', 10, 2 );

Artículos de Referencia

Cómo mostrar el número límite de entradas restantes