php - Woocommerce how to edit address -
i having difficulties in editing new address type in woocommerce. added besides shipping , billing, type of address, personal.
i want user change data on my account/edit address page.
i can show data personal address, when user clicks on edit, should load form these fields.
these files:
my-account.php
<?php /** * addresses * * @author woothemes * @package woocommerce/templates * @version 2.0.0 */ if ( ! defined( 'abspath' ) ) exit; // exit if accessed directly global $woocommerce; $customer_id = get_current_user_id(); if ( get_option('woocommerce_ship_to_billing_address_only') == 'no' ) { $page_title = apply_filters( 'woocommerce_my_account_my_address_title', __( 'my addresses', 'woocommerce' ) ); $get_addresses = array( //added pd 'personal' => __( 'personal address', 'woocommerce' ), // 'billing' => __( 'billing address', 'woocommerce' ), 'shipping' => __( 'shipping address', 'woocommerce' ) ); } else { $page_title = apply_filters( 'woocommerce_my_account_my_address_title', __( 'my address', 'woocommerce' ) ); $get_addresses = array( 'billing' => __( 'billing address', 'woocommerce' ), // added pd 'personal' => __( 'personal address', 'woocommerce' ) // ); } $col = 1; ?> <h2><?php echo $page_title; ?></h2> <p class="myaccount_address"> <?php echo apply_filters( 'woocommerce_my_account_my_address_description', __( 'the following addresses used on checkout page default.', 'woocommerce' ) ); ?> </p> <?php if ( get_option('woocommerce_ship_to_billing_address_only') == 'no' ) echo '<div class="col2-set addresses">'; ?> <?php foreach ( $get_addresses $name => $title ) : ?> <div class="col-<?php echo ( ( $col = $col * -1 ) < 0 ) ? 1 : 2; ?> address"> <header class="title"> <h3><?php echo $title; ?></h3> <a href="<?php echo esc_url( add_query_arg('address', $name, get_permalink(woocommerce_get_page_id( 'edit_address' ) ) ) ); ?>" class="edit"><?php _e( 'edit', 'woocommerce' ); ?></a> </header> <address> <?php $address = apply_filters( 'woocommerce_my_account_my_address_formatted_address', array( 'first_name' => get_user_meta( $customer_id, $name . '_first_name', true ), 'last_name' => get_user_meta( $customer_id, $name . '_last_name', true ), 'company' => get_user_meta( $customer_id, $name . '_company', true ), 'address_1' => get_user_meta( $customer_id, $name . '_address_1', true ), 'address_2' => get_user_meta( $customer_id, $name . '_address_2', true ), 'city' => get_user_meta( $customer_id, $name . '_city', true ), 'state' => get_user_meta( $customer_id, $name . '_state', true ), 'postcode' => get_user_meta( $customer_id, $name . '_postcode', true ), 'country' => get_user_meta( $customer_id, $name . '_country', true ) ), $customer_id, $name ); $formatted_address = $woocommerce->countries->get_formatted_address( $address ); if ( ! $formatted_address ) _e( 'you have not set type of address yet.', 'woocommerce' ); else echo $formatted_address; ?> </address> </div> <?php endforeach; ?> <?php if ( get_option('woocommerce_ship_to_billing_address_only') == 'no' ) echo '</div>'; ?>
Comments
Post a Comment