Создать PDF в массовом действии WoocommercePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Создать PDF в массовом действии Woocommerce

Сообщение Anonymous »

Я пытаюсь создать PDF-файл (DomPdf) с помощью массового действия Woocommerce. До появления HPOS это работало, но теперь уже нет.
Массовое действие добавляется в раскрывающийся список, и при выполнении действия отображается уведомление администратора.
$add_custom_download_action = function ( array $bulk_actions ) {
return array_merge( $bulk_actions, [ 'custom_download_action' => 'Perform custom download action' ] );
};

$custom_download_action_handler = function ( string $redirect_to, string $action, array $post_ids ) {

if ( $action !== 'custom_download_action' )
return $redirect_to; // Exit

require WPO_WCPDF()->plugin_path() . '/vendor/autoload.php';
$dompdf = new Dompdf\Dompdf();
$dompdf->set_paper( 'letter' , 'landscape' );
$dompdf->loadHtml($content); //this variable is build up as an html string
$dompdf->render();
$dompdf->stream('orders.pdf',array("Attachment"=>0));

return add_query_arg( 'bulk_action', 'custom-download-action-notice', $redirect_to );
};

$custom_download_action_notice = function () {
if ( isset( $_GET['bulk_action'] ) && 'custom-download-action-notice' === $_GET['bulk_action'] ) {
print '
PDF downloaded
';
}
};

add_filter( 'bulk_actions-woocommerce_page_wc-orders', $add_custom_download_action);
add_filter( 'handle_bulk_actions-woocommerce_page_wc-orders', $custom_download_action_handler, 10, 3 );
add_action( 'admin_notices', $custom_download_action_notice );


Подробнее здесь: https://stackoverflow.com/questions/791 ... ulk-action
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»