Pesquisei bastante e não encontrei exatamente o que estou procurando, por isso espero poder ser apontado na direção certa.
Estou desenvolvendo um plug-in de eventos que reserva um ticket pelo front-end. Isso não é diferente de qualquer outro envio de formulário, mas o que estou confundindo é como lidar com isso a partir de um plug-in que é escrito via OOP com uma classe.
A maioria dos artigos que encontrei dizem colocar a manipulação $ _POST na página do modelo. Idealmente, eu gostaria de ter isso tratado por uma função dentro do plugin.
A outra coisa que não tenho certeza é quando você envia o formulário no front-end, como isso realmente é passado para a função no back-end. Espero abstrair completamente o processamento do formulário a partir de qualquer detalhe do modelo.
// events.php
if ( ! class_exists( 'Events' ) ) {
Class Events {
function __construct() {
add_action( 'plugins_loaded', array( &$this, 'includes' ), 1 );
}
function includes() {
require_once( EVENTS_INCLUDES . 'functions.php' );
}
}
}
if ( class_exists( 'Events' ) ) {
$events_load = New Events();
}
// functions.php
function process_form() {
...do form processing here...
...insert booking...
}
Não sei ao certo o que fazer para capturar isso ou para onde enviar a ação do formulário também. Obrigado por toda a ajuda!
-Adão
fonte
Respostas:
Envie a ação do formulário para sua página inicial ou para um URL de página específico. Você não pode ter a manipulação $ _POST no modelo porque precisa redirecionar após o processo e o redirecionamento precisa ser acionado antes de qualquer saída HTML.
Você também pode verificar se há um nonce para garantir que os dados foram enviados do lugar certo ...
fonte