Chào các bạn,
Trong quá trình xử lý link download dành cho Woo, mình nhận thấy khá nhiều lỗi khi download link trực tiếp từ Google Drive nên mình quyết định tự đi tìm câu trả lời và giải quyết nó.
Cụ thể như sau:
- Thường link của Google Drive khi chúng ta share sẽ có dạng: https://drive.google.com/file/d/ID/view?usp=sharing các bạn chú ý chỗ ID
- Khi gắn link download dành cho Woo, chúng ta sẽ dùng chức năng UC, ví dụ: https://drive.google.com/uc?export=download&id=ID (ID này chính là ID share của link ở trên)
Lưu ý: Nhớ chọn chế độ công khai
Tuy nhiên Woo sẽ không nhận biết được và khi download báo lỗi file UC không định dạng.
Bước tiếp theo chúng ta vào chỉnh sửa file của /plugins/woocommerce/includes/class-wc-download-handler.php
Tìm dòng 193
if ( strstr( $filename, '?' ) ) {
$filename = current( explode( '?', $filename ) );
}
Thay thế bằng:
if ( strstr( $filename, '?' ) ) {
$filename = current( explode( '?', $filename ) );
$product = wc_get_product( $product_id );
$drive_filename = $product->get_downloads();
foreach($drive_filename as $key => $each_download) {
$filename = $each_download["name"];
}
}
[color=#ff2200]Chú ý khi bạn update woo thì nhớ làm lại thao tác edit code như trên nhé.[/color]
Chúc các bạn thành công.
[right]Bài viết độc quyền từ WPVNTeam, nhớ ghi rõ nguồn website khi trích dẫn[/right]