ش | ی | د | س | چ | پ | ج |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
سلام وقت بخیر.
من میخوام به صورت دستی سفارش اضافه کنم. زمانی که نام کاربری مشتری رو وارد میکنم و در بخش اقلام محصول رو اضافه میکنم. لینک دانلود پیغام میده لینک دانلود نادرست است برو به فروشگاه. اما زمانی که ایمیل رو به اطلاعات مشتری اضافه میکنم این مشکل حل میشه. مشکل از کجاست؟ در key های لینک دانلود مشتری با ایمیل، ایمیل در لینک دانلود موجود هست و به درستی کار نمیکنه. در ثبت نام سایت ما ایمیل اختیاری هست.
برای رفع این مشکل:
به این مسیر برید: plugins/woocommerce/includes
فایل class-wc-download-handler.php رو باز کنید
کدهای زیر رو از فایل پاک کنید:
کد اول:
// Fallback, accept email address if it's passed.
if ( empty( $_GET['email'] ) && empty( $_GET['uid'] ) ) { // WPCS: input var ok, CSRF ok.
self::download_error( __( 'Invalid download link.', 'woocommerce' ) );
}
کد دوم:
if ( isset( $_GET['email'] ) ) { // WPCS: input var ok, CSRF ok.
$email_address = wp_unslash( $_GET['email'] ); // WPCS: input var ok, CSRF ok, sanitization ok.
} else {
// Get email address from order to verify hash.
$email_address = is_a( $order, 'WC_Order' ) ? $order->get_billing_email() : null;
// Prepare email address hash.
$email_hash = function_exists( 'hash' ) ? hash( 'sha256', $email_address ) : sha1( $email_address );
if ( is_null( $email_address ) || ! hash_equals( wp_unslash( $_GET['uid'] ), $email_hash ) ) { // WPCS: input var ok, CSRF ok, sanitization ok.
self::download_error( __( 'Invalid download link.', 'woocommerce' ) );
}
}