Resumo de IA
Descrição
A ação wpforms_loaded é disparada assim que o WPForms configura seus objetos principais e está pronto para uso. Ela é executada em plugins_loaded, logo após os objetos form handler e process serem registrados, e antes que o admin loader, providers e integrations sejam inicializados.
Esta ação não aceita nenhum parâmetro.
Mais Informações
WPForms::hooks() anexa objects() a plugins_loaded. objects() cria WPForms_Form_Handler e WPForms_Process no registry e então dispara do_action( 'wpforms_loaded' ) sem argumentos. O próprio core escuta nela para iniciar Admin\Loader (apenas admin), Providers\Providers e Integrations\Loader, todos com prioridade 10.
Use-a para registrar hooks que precisam que wpforms() exista, ou para executar código apenas quando o WPForms estiver ativo. Os artigos de referência abaixo encapsulam sua configuração nela: um registra um filtro wpforms_entry_email_data, o outro inicializa uma classe de compatibilidade do Quiz and Survey Master. As integrações também começam com prioridade 10 nesta ação, então um callback que precisa ser executado antes que uma integração construa seus objetos (por exemplo, os métodos de pagamento PayPal Commerce) precisa de um número de prioridade menor.
Disparada em Lite e Pro. Ela não é disparada quando WPForms::is_restricted_heartbeat() encurta init(), pois hooks() nunca é alcançado. Os addons do WPForms também são inicializados nesta ação.
Fonte
wpforms/src/WPForms.php
Exemplo
Este exemplo registra um filtro de notificação apenas depois que o WPForms é carregado, então o callback nunca é executado quando o WPForms está inativo.
/**
* Register WPForms hooks once the plugin is loaded.
*
* @link https://wpforms.com/developers/wpforms_loaded/
*/
function wpf_dev_loaded() {
add_filter( 'wpforms_entry_email_data', 'wpf_dev_remove_field_from_email', 11, 3 );
}
add_action( 'wpforms_loaded', 'wpf_dev_loaded', 10, 0 );
/**
* Remove field 3 from {all_fields} in notifications for form 143.
*
* @param array $fields Entry fields.
* @param array $entry Form submission raw data.
* @param array $form_data Form data and settings.
*
* @return array
*/
function wpf_dev_remove_field_from_email( $fields, $entry, $form_data ) {
// Only run on the form with ID 143. Remember to change 143 to your form ID.
if ( empty( $form_data['id'] ) || (int) $form_data['id'] !== 143 ) {
return $fields;
}
// Remember to change 3 to the ID of the field you want to remove.
unset( $fields[3] );
return $fields;
}




