23/10/2019
Uma dica bacana para quem deseja disponibilizar um botão para reimpressão de boleto na área de pedidos do Woocommerce com PagSeguro (Wordpress).
Após várias buscas não encontrei nada similar ao que precisava, chega de enrolação segue:
1 - Localize o arquivo functions.php de seu tema (esse arquivo f**a localizado na pasta "wp-content/themes/SEU_TEMA/functions.php" edite o arquivo (vai precisar fazer isso pelo ftp caso esteja publicado) e adicione as seguintes linhas de código ao final do arquivo:
//Adiciona o botão na área de pedidos do cliente
add_filter( 'woocommerce_my_account_my_orders_actions', 'imprimir_boleto', 50, 2 );
/*Função que cria o botão, obtendo o link da url do PagSeguro (somente para pedidos com status pendentes)*/
/*F**a a critério qualquer outro tipo de customização desta função*/
function imprimir_boleto( $actions, $order ) {
if ( in_array($order->status, ['on-hold', 'pending']) && $order->get_payment_method() == 'pagseguro' ) {
$link_boleto = get_post_meta( $order->id, '_wc_pagseguro_payment_data', true );
if(isset($link_boleto['link'])){
$actions['imprimir-boleto'] = array(
'url' => $link_boleto['link'],
'name' => 'Boleto'
);
}
}
return $actions;
}