Tuesday, August 27, 2019

Còn bao nhiêu ngày nữa là đến tết nguyên đán 2020

Còn bao nhiêu ngày nữa là đến tết nguyên đán 2020

Thời gian đến giờ giao thừa
XUÂN CANH TÝ 2020
Days
000
:
Hours
00
:
Minutes
00
:
Seconds
00

Friday, July 26, 2019

Hướng dẫn sửa trang thanh toán trong WooCommerce gọn gàng và hữu dụng

Hướng dẫn sửa trang thanh toán trong WooCommerce gọn gàng và hữu dụng

Woocommerce thì có lẽ quá quen với anh em làm web WordPress rồi. Đây là một plugin mạnh mẽ hỗ trợ việc bán hàng online cho các website WordPress. Tuy nhiên, có một thực tế là plugin này có nhiều điểm không phù hợp với thói quen mua hàng của người Việt Nam, cụ thể là trang thanh toán mặc định của nó rất rối rắm và bất hợp lí.

Bài viết này mình tham khảo nguồn từ blog Lê Văn Toản và chia sẻ về đây cho các bạn cùng làm để cho trang thanh toán mặc định của Woocommerce trở nên gọn gàng và hữu dụng hơn!


Bước 1: Chuẩn bị code 

Chúng ta cần chuẩn bị các đoạn code để bỏ vào file function.php của theme. Dưới đây là đoạn code đã được tổng hợp đầy đủ, các bạn không cần quan tâm nhiều nhé!

/*Sắp xếp lại thứ tự các field*/ add_filter("woocommerce_checkout_fields", "order_fields"); function order_fields($fields) { //Shipping $order_shipping = array( "shipping_last_name", "shipping_phone", "shipping_address_1" ); foreach($order_shipping as $field_shipping) { $ordered_fields2[$field_shipping] = $fields["shipping"][$field_shipping]; } $fields["shipping"] = $ordered_fields2; return $fields; } add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields',99 ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_company']); unset($fields['billing']['billing_first_name']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_address_2']); $fields['billing']['billing_last_name'] = array( 'label' => __('Họ và tên', 'devvn'), 'placeholder' => _x('Nhập đầy đủ họ và tên của bạn', 'placeholder', 'devvn'), 'required' => true, 'class' => array('form-row-wide'), 'clear' => true ); $fields['billing']['billing_address_1']['placeholder'] = 'Ví dụ: Số xx Ngõ xx Phú Kiều, Bắc Từ Liêm, Hà Nội'; unset($fields['shipping']['shipping_company']); unset($fields['shipping']['shipping_postcode']); unset($fields['shipping']['shipping_country']); unset($fields['shipping']['shipping_city']); unset($fields['shipping']['shipping_state']); unset($fields['shipping']['shipping_address_2']); $fields['shipping']['shipping_phone'] = array( 'label' => __('Điện thoại', 'devvn'), 'placeholder' => _x('Số điện thoại người nhận hàng', 'placeholder', 'devvn'), 'required' => true, 'class' => array('form-row-wide'), 'clear' => true ); $fields['shipping']['shipping_last_name'] = array( 'label' => __('Họ và tên', 'devvn'), 'placeholder' => _x('Nhập đầy đủ họ và tên của người nhận', 'placeholder', 'devvn'), 'required' => true, 'class' => array('form-row-wide'), 'clear' => true ); $fields['shipping']['shipping_address_1']['placeholder'] = 'Ví dụ: Số xx Ngõ xx Phú Kiều, Bắc Từ Liêm, Hà Nội'; return $fields; } add_action( 'woocommerce_admin_order_data_after_shipping_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 ); function my_custom_checkout_field_display_admin_order_meta($order){ echo '
'.__('Số ĐT người nhận').':
' . get_post_meta( $order->id, '_shipping_phone', true ) . '

'; }
Bước 2: Chèn code vào function.php

Các bạn copy và paste toàn bộ đoạn code trên vào file function.php của theme nha!
Đối với theme Flatsome có child theme. Code được paste vào Giao diện – Sửa – Chọn child theme – Function.php.
 Lưu ý: thường thì copy xuống dưới cùng file function.php, để ý kỹ file function.php mặc định thường có <?php để mở đầu trang nha! Nhiều bạn xóa luôn dấu đó đi mà gặp lỗi thì đừng hỏi tại sao nha?

Bước 3: Css tùy chỉnh

Các bạn copy đoạn code CSS dưới đây và bỏ vào tùy chỉnh CSS nha!
p.form-row-first, p.form-row-last{width:100%} .woocommerce-billing-fields input{margin-bottom:0} #customer_details label{font-weight: normal; font-size: 15px; color:#950303}
Sau khi copy CSS vào tùy chỉnh CSS, các bạn lưu lại và ra hưởng thành quả xem thế nào nhé!

Lời kết

Cám ơn các bạn đã quan tâm theo dõi và ủng hộ GiuseArt.com trong thời gian qua. Chúc các bạn có những trải nghiệm thú vị khi ghé thăm website nha!

Souce:  https://levantoan.com/lam-viec-voi-cac-fields-trong-trang-checkout-cua-woocommerce/

Sunday, July 14, 2019

Hướng dẫn mở khóa - Unlock Boot Loader cho các máy Xiaomi

Hướng dẫn mở khóa - Unlock Boot Loader cho các máy Xiaomi


Các dòng smartphone được ra mắt trong thời gian gần đây của Xiaomi đều mặc định bị khóa Bootloader. Bằng việc mở khóa nó (Unlock Bootloader), bạn có thể Root, cài custom Recovery, custom ROM, cứu brick… một cách đơn giản và dễ dàng hơn bao giờ hết.

Lưu ý trước khi thực hiện:

  • Máy tính được kết nối mạng và đã cài đặt đầy đủ driver của Xiaomi hoặc Mi PC Suite.
  • Cáp USB để kết nối giữa điện thoại và máy tính.
  • Nếu điện thoại của bạn được phân phối chính hãng và vẫn đang trong thời gian bảo hành, hãy cân nhắc trước khi thực hiện vì hãng có thể từ chối bảo hành nếu phát hiện máy của bạn đã Unlock Bootloader.


  • I. Tạo tài khoản MI

    • Đầu tiên bạn truy cập vào liên kết: https://account.xiaomi.com/pass/register/
    • Điền địa chỉ Email mà bạn muốn đăng kí. Nếu muốn đăng kí bằng số điện thoại, hãy chọn đến dòng Tạo bằng số điện thọai ở phía dưới.

    Sau khi điền thông tin xong, các bạn nhấn Gửi rồi vào email để kiểm tra mail kích hoạt nhé.

    Lưu ý: Bạn có thể bỏ qua bước này nếu đã có sẵn tài khoản Mi.

    2. Đăng kí Unlock Bootloader

    Sau khi hoàn thành thủ tục đăng ký và có tài khoản Xiaomi, chúng ta đã có thể đăng kí Unlock Bootloader bằng cách truy cập vào liên kết: http://en.miui.com/unlock/ rồi chọn Unlock Now.


    Đây là tài khoản mới tạo nên Xiaomi sẽ yêu cầu các bạn tạo Nickname trên diễn đàn vì vậy các bạn nhập tên mà mình muốn nhưng không được trùng với những tên đã có trước đó.

    Tiếp đến là điền đầy đủ thông tin của người dùng bao gồm: Tên, Số điện thoại, Lý do mà bạn muốn Unlock bằng Tiếng Anh hoặc Tiếng Trung. Sau đó nhập mã captcha, tích vào ô xác nhận và chọn Apply Now. 


    Tính nhắn xác nhận sẽ được hệ thống gửi về số điện thoại mà các bạn đã cung cấp trước đó. Lấy mã xác nhận để điền vào ô bên dưới và sau đó chọn Next để tiếp tục.
    Nếu các bạn nhận được thông báo như hình bên dưới có nghĩa là yêu cầu của bạn đã được gửi đi. Điều chúng ta cần làm tiếp theo là đợi từ 1-10 ngày để Xiaomi sẽ duyệt và gửi tin nhắn xác nhận tới số điện thoại mà bạn đã điền ở trên.
    Lưu ý rằng mỗi tài khoản Mi sẽ có thể unlock nhiều thiết bị, tuy nhiên mỗi thiết bị phải Unlock cách nhau 30 ngày.

    3. Đăng nhập tài khoản Mi và thêm quyền unlock vào thiết bị

    Trên điện thoại, vào Cài đặt chọn Tài khoản Mi sau đó đăng nhập tài khoản của bạn vào máy như hình bên dưới.

    Trong Cài đặt, chọn Giới thiệu về điện thoại, click liên tục vào dòng Phiên bản MIUI cho tới khi nhận được thông báo “Bạn đã là nhà phát triển!” thì dừng lại.

    Quay lại Cài đặt – Cài đặt bổ sung – Tùy chọn nhà phát triển – Trạng thái Mở khóa Mi.

    Chọn Thêm tài khoản và thiết bị, nếu có thông báo thành công, tiến hành chuyển sang bước tiếp theo.

    4. Tiến hành Unlock Bootloader bằng phần mềm Mi Unlock của Xiaomi

    Tải phần mềm Mi Unlock tại đây: http://en.miui.com/unlock/download_en.html

    Mở phần mềm Mi Unlock lên và chọn Agree để chấp nhận điều khoản và tiếp tục.


    Đăng nhập bằng tài khoản Xiaomi đã được cấp phép unlock và đang lưu trên điện thoại.

    Xiaomi sẽ kiểm tra quyền unlock trên tài khoản của bạn.
    Đưa điện thoại về chế độ Fastboot (bằng cách giữ phím Nguồn + Giảm âm lượng). Sau đó, kết nối với máy tính qua cáp USB rồi chọn Unlock.
    Mi Unlock sẽ hiện cảnh báo nguy hiểm, tuy nhiên bạn cần phải chọn Unlock anyway để tiếp tục.
    Phần mềm sẽ tiến hành Unlock Bootloader cho điện thoại Mi của bạn. Sau khi unlock thành công, bạn sẽ nhận được thông báo như hình bên dưới.
    Chú ý: Từ ngày 20/6/2017, Xiaomi yêu cầu tài khoản cần được thêm vào thiết bị ít nhất 72h mới có thể unlock. Vì vậy, hãy thêm tài khoản Mi vào thiết bị rồi chờ 72h sau đó unlock nhé!

    Nguồn: Tổng hợp
    [KERNEL] MALAKAS KERNEL r185 [GCC10][Gbench: 9311][UPDATED❯ *9-7-11* ]

    [KERNEL] MALAKAS KERNEL r185 [GCC10][Gbench: 9311][UPDATED❯ *9-7-11* ]

    DISCLAIMER
    Code:

    * Your warranty is now void.
    * I am not responsible for bricked devices, dead SD cards, dead dogs, or cats,
    * but I'm very interested in thermonuclear war, so if you point the finger
    * at me for messing up your device just because of this kernel,
    * I will send you to mars on a nuclear rocket. Act accordingly.
    * I know this paragraph is conspiracy-related,
    * so don't ask about it. Welcome...

    ABOUT
    The Malakas Kernel or MLX, is a balance between speed & efficiency with all latest patches optimized to take full advantage of your device.
    It is made off Lineage source to ensure optimal working state. The MLX kernel is one of the most patched kernels adapting work from famous developers;
    Think of Arter and Sultan & also patches from other devices like Pixel and Oneplus for example.
    Furthermore it is a kernel which unlike many others is radically debloated and completely custom configured forsecurity, stability and speed.
    Work on this kernel is very serious and will continue to improve even further.
    Works on both MIUI and custom roms.



    Current Geekbench record on Reloaded CAF: 9311
    Current Antutu record on MIUI Pro w/o GPU OC: 322K
    Current Antutu record on MIUI Pro with GPU OC: 326K
     

    PREREQUISITES
    1. Unlocked bootloader.
    2. Working TWRP/Recovery.
     (CLEAN FLASH IF YOU HAVE ISSUES)

    FEATURES
    • Toolchain used self compiled GCC 10 snapshots & -Ofast, sdm845 and more makefile optimizations
    • Upstreamed from android-linux-stable/msm-4.9 (+ f2fs-stable + android-4.9)
    • Merged latest LineageOS 16.0 updates
    • Merged CAF tag LA.UM.7.3.r1-07900-sdm845.0 (+ other CAF cherry picks)
    • Touchscreen drivers NVT 9.5.6 (Reverted to 9.1.24) & Touchscreen drivers FTS 9.6.20
    • Touch/Input lag reduction and increased touch smoothness
    • Completely preconfigured
    • Fastest booting custom kernel
    • FStrim on boot
    • Radically debloated
    • Reduced latency
    • Boeffla wakelock blocker
    • Power efficient workqueues
    • Pixel 3 XL energy model
    • Deep sleep & idle power consumption optimized
    • Dynamic stune boost v3
    • Dt2w/Dt2s
    • Fast charging up to 2800mAh (Reverted to normal value, due to misinformation spread)
    • USB Fast charge control
    • S2idle/S3 deep sleep states
    • Adreno nap mode
    • Adreno idler
    • AdrenoBoost v2.2
    • Sultans simple low memory killer
    • Kcal Display color control
    • Klapse v5.0 Livedisplay kernel module
    • Backlight expanded limits of minimum/maximum brightness control
    • Sound control
    • Vibration control
    • CRC check control
    • Fsync control
    • Frandom entropy (15-20 times faster than traditional entropy)
    • Zram (deflate, lzo, lz4, lz4hc, zstd)
    • Swap
    • Support added for F2FS, NTFS, SDFAT, VFAT, EXFAT, MSDOSFAT
    • TTL target
    • IP mangle
    • MAC address randomization for privacy
    • Wifi AD 60Ghz enabled
    • Wireguard Support
    • Config hz: 300
    • SElinux permissive
    • Slimbus OC
    • GPU 180-710Mhz / optional GPU OC manually 180-820Mhz (preconfigured in MLX tweak)
    • Non Display OC / Display OC TIANMA panels 69hz - EBBG & JDI panels 65hz
    • Many many more patches and improvements, check commits
    VERSION INFO
    Make sure your display supports Display OC. If not, the touch panel will keep freezing as a result. In that case download the stock version.
    • MLX Display OC (69-65hz)
    • MLX Stock (No display OC)
      NOTICE: Latest download can be found in download folder.

    EXTRAS
    • Check the MLX kernels gaming performance in action here.
    • If there is enough support a big Telegram group for MLX kernel in near future.
    • Make sure to check post #2 #3.

    INSTRUCTIONS
    1. Download the zip.
    2. Reboot to recovery.
    3. Flash the zip.
    4. Wipe cache and reboot your device.


    SOURCE CODE

    DOWNLOADS
    Android File Host Repo

    Source