ژاکت سرویس ژاکت سرویس

مشکل لینک های دانلود در ووکامرس

  • سطح پروژهسطح متوسط
  • مهلت پروژهمنقضی شده
  • تهران
این پروژه منقضی شده است

جزئیات پروژه

با سلام

با توجه به اینکه در ووکامرس برای فروش محصولات دانلودی، کاربر خریدار باید ایمیل خود را ثبت نماید در غیر این صورت بعد از پرداخت وجه و مراجعه به پنل کاربری قسمت دانلودهای من هنگام دانلود با این خطا: (پیوند دانلود نادرست است. رفتن به فروشگاه) مواجه می‌شود، لذا برای رفع این مورد نیاز است که توسط کدنویسی و افزودن فایل مربوطه به ووکامرس این روند خنثی گردد و دیگر برای دانلود فایل ها نیاز به ایمیل کاربر نباشد. زیرا در سایت زمانی که توسط شماره موبایل و کد تایید پیامکی کاربر اقدام به ثبت نام و خرید از سایت می‌نماید فیلد ایمیل را حذف میکنیم که روند کار آسان تر باشد و کار درست هم این است.

فایل 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' ) );
            }
        }

 

زبانهای مورد نیاز

مهلت تکمیل پروژه

1400/07/29
Retry Layer 1