טיפ! איך לשמור על ערכי שדות תשלום לאחר טעינה מחדש

תוכן עניינים

יש לכם אתר מכירות שעובד על ווקומרס? אז יש לי חדשות טובות וחדשות רעות בשבילכם.

החדשות הרעות

החדשות הרעות הן שיש לווקומרס באג מאד מעצבן שיכול לפגוע בצורה משמעותית ב CRO ובאחוזי הנטישה. תגלשו לאתר שלכם ותוסיפו מוצר להזמנה. תמלאו את הפרטים בעמוד התשלום (שם, מספר נייד, אימייל, כתובת) ואז פשוט תטענו את העמוד מחדש או שתעברו לעמוד אחר באתר ותחזרו חזרה לעמוד התשלום

מה גיליתם?

שמלבד השדות של הכתובת שנשמרים, השדות האחרים נמחקים ואתם צריכים להזין אותם מחדש.

טיפ! איך לשמור על ערכי שדות תשלום לאחר טעינה מחדש 1

כפי שניתן לראות בתמונה למעלה, השדות של החברה והכתובת מופיעים אבל השדות של השם פרטי, שם משפחה, מספר נייד ואימייל ריקים.

החדשות הטובות

החדשות הטובות הן שבעזרת כמה שורות של קוד תודות לרודלפו מלוגי מהאתר businessbloomer.com אתם פותרים את הבעיה הזאת בקלות ובמהירות.

פשוט תעתיקו את הקוד הבא ותכניסו אותו לקובץ functions.php של התבנית בת שלכם ותשמרו.

/**
 * @snippet       Retain Field Values | WooCommerce Checkout
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_save_checkout_values', 9999 );
 
function bbloomer_save_checkout_values( $posted_data ) {
    parse_str( $posted_data, $output );
    WC()->session->set( 'checkout_data', $output );
    return $posted_data;
}
 
add_filter( 'woocommerce_checkout_get_value', 'bbloomer_get_saved_checkout', 9999, 2 );
 
function bbloomer_get_saved_checkout( $value, $index ) {
    $data = WC()->session->get( 'checkout_data' );
    if ( ! $data || empty( $data[$index] ) ) return $value;
    return is_bool( $data[$index] ) ? (int) $data[$index] : $data[$index];
}
 
add_filter( 'woocommerce_ship_to_different_address_checked', 'bbloomer_get_saved_ship_to_different' );
 
function bbloomer_get_saved_ship_to_different( $checked ) {
    $data = WC()->session->get( 'checkout_data' );
    if ( ! $data || empty( $data['ship_to_different_address'] ) ) return $checked;
    return true;
}

לא בטוחים איפה להוסיף את הקוד? גם לזה יש לרודולפו פתרון עם סרטון הסבר.

בהצלחה!

דילוג לתוכן