جزئیات پروژه
با سلام
با توجه به اینکه در ووکامرس برای فروش محصولات دانلودی، کاربر خریدار باید ایمیل خود را ثبت نماید در غیر این صورت بعد از پرداخت وجه و مراجعه به پنل کاربری قسمت دانلودهای من هنگام دانلود با این خطا: (پیوند دانلود نادرست است. رفتن به فروشگاه) مواجه میشود، لذا برای رفع این مورد نیاز است که توسط کدنویسی و افزودن فایل مربوطه به ووکامرس این روند خنثی گردد و دیگر برای دانلود فایل ها نیاز به ایمیل کاربر نباشد. زیرا در سایت زمانی که توسط شماره موبایل و کد تایید پیامکی کاربر اقدام به ثبت نام و خرید از سایت مینماید فیلد ایمیل را حذف میکنیم که روند کار آسان تر باشد و کار درست هم این است.
فایل class-wc-download-handler.php در این مسیر: plugins/woocommerce/includes پیدا کردیم و مشکل از کد مربوط به خطای ایمیل در این فایل مییاشد
در ادامه این کدها را برای آزمایش حذف نموده ایم و مشکل موقتا برطرف گردیده اما نیاز به کد نویسی و راه حل اصولی برای حل این مورد داریم
هزینه انجام کار و زمان مورد نیاز را لطفا اعلام نمایید
با تشکر از حسن عنایت شما
کدهای مربوطه :
// 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' ) );
}
}