• The edit account page is missing a button to save changes. We have checked and repaired any overridden templates in WooCommerce. Other myaccount pages work fine.

    This is the contents of form-edit-account.php

    <?php
    /**
    * Edit account form
    *
    * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-edit-account.php.
    *
    * HOWEVER, on occasion WooCommerce will need to update template files and you
    * (the theme developer) will need to copy the new files to your theme to
    * maintain compatibility. We try to do this as little as possible, but it does
    * happen. When this occurs the version of the template file will be bumped and
    * the readme will list any important changes.
    *
    * @see https://woocommerce.com/document/template-structure/
    * @package WooCommerce\Templates
    * @version 11.0.0
    */

    defined( ‘ABSPATH’ ) || exit;

    /**
    * Hook – woocommerce_before_edit_account_form.
    *
    * @since 2.6.0
    */
    do_action( ‘woocommerce_before_edit_account_form’ );
    ?>


    <form class=”woocommerce-EditAccountForm edit-account” action=”” method=”post” <?php do_action( ‘woocommerce_edit_account_form_tag’ ); ?> >

    <?php do_action( ‘woocommerce_edit_account_form_start’ ); ?>

    <p class=”woocommerce-form-row woocommerce-form-row–first form-row form-row-first”>
    <label for=”account_first_name”><?php esc_html_e( ‘First name’, ‘woocommerce’ ); ?>&nbsp;<span class=”required” aria-hidden=”true”>*</span></label>
    <input type=”text” class=”woocommerce-Input woocommerce-Input–text input-text” name=”account_first_name” id=”account_first_name” autocomplete=”given-name” value=”<?php echo esc_attr( $user->first_name ); ?>” aria-required=”true” />
    </p>
    <p class=”woocommerce-form-row woocommerce-form-row–last form-row form-row-last”>
    <label for=”account_last_name”><?php esc_html_e( ‘Last name’, ‘woocommerce’ ); ?>&nbsp;<span class=”required” aria-hidden=”true”>*</span></label>
    <input type=”text” class=”woocommerce-Input woocommerce-Input–text input-text” name=”account_last_name” id=”account_last_name” autocomplete=”family-name” value=”<?php echo esc_attr( $user->last_name ); ?>” aria-required=”true” />
    </p>
    <div class=”clear”></div>

    <p class=”woocommerce-form-row woocommerce-form-row–wide form-row form-row-wide”>
    <label for=”account_display_name”><?php esc_html_e( ‘Display name’, ‘woocommerce’ ); ?>&nbsp;<span class=”required” aria-hidden=”true”>*</span></label>
    <input type=”text” class=”woocommerce-Input woocommerce-Input–text input-text” name=”account_display_name” id=”account_display_name” aria-describedby=”account_display_name_description” value=”<?php echo esc_attr( $user->display_name ); ?>” aria-required=”true” />
    <span id=”account_display_name_description”><em><?php echo wc_reviews_enabled() ? esc_html__( ‘This will be how your name will be displayed in the account section and in reviews’, ‘woocommerce’ ) : esc_html__( ‘This will be how your name will be displayed in the account section’, ‘woocommerce’ ); ?></em></span>
    </p>
    <div class=”clear”></div>

    <p class=”woocommerce-form-row woocommerce-form-row–wide form-row form-row-wide”>
    <label for=”account_email”><?php esc_html_e( ‘Email address’, ‘woocommerce’ ); ?>&nbsp;<span class=”required” aria-hidden=”true”>*</span></label>
    <input type=”email” class=”woocommerce-Input woocommerce-Input–email input-text” name=”account_email” id=”account_email” autocomplete=”email” value=”<?php echo esc_attr( $user->user_email ); ?>” aria-required=”true” />
    </p>

    <?php
    /**
    * Hook where additional fields should be rendered.
    *
    * @since 8.7.0
    */
    do_action( ‘woocommerce_edit_account_form_fields’ );
    ?>

    <fieldset>
    <legend><?php esc_html_e( ‘Password change’, ‘woocommerce’ ); ?></legend>

    <p class=”woocommerce-form-row woocommerce-form-row–wide form-row form-row-wide”>
    <label for=”password_current”><?php esc_html_e( ‘Current password (leave blank to leave unchanged)’, ‘woocommerce’ ); ?></label>
    <input type=”password” class=”woocommerce-Input woocommerce-Input–password input-text” name=”password_current” id=”password_current” autocomplete=”current-password” />
    </p>
    <p class=”woocommerce-form-row woocommerce-form-row–wide form-row form-row-wide”>
    <label for=”password_1″><?php esc_html_e( ‘New password (leave blank to leave unchanged)’, ‘woocommerce’ ); ?></label>
    <input type=”password” class=”woocommerce-Input woocommerce-Input–password input-text” name=”password_1″ id=”password_1″ autocomplete=”new-password” />
    </p>
    <p class=”woocommerce-form-row woocommerce-form-row–wide form-row form-row-wide”>
    <label for=”password_2″><?php esc_html_e( ‘Confirm new password’, ‘woocommerce’ ); ?></label>
    <input type=”password” class=”woocommerce-Input woocommerce-Input–password input-text” name=”password_2″ id=”password_2″ autocomplete=”new-password” />
    </p>
    </fieldset>
    <div class=”clear”></div>

    <?php
    /**
    * My Account edit account form.
    *
    * @since 2.6.0
    */
    do_action( ‘woocommerce_edit_account_form’ );
    ?>

    <p>
    <?php wp_nonce_field( ‘save_account_details’, ‘save-account-details-nonce’ ); ?>
    <button type=”submit” class=”woocommerce-Button button<?php echo esc_attr( wc_wp_theme_get_element_class_name( ‘button’ ) ? ‘ ‘ . wc_wp_theme_get_element_class_name( ‘button’ ) : ” ); ?>” name=”save_account_details” value=”<?php esc_attr_e( ‘Save changes’, ‘woocommerce’ ); ?>”><?php esc_html_e( ‘Save changes’, ‘woocommerce’ ); ?></button>
    <input type=”hidden” name=”action” value=”save_account_details” />
    </p>

    <?php do_action( ‘woocommerce_edit_account_form_end’ ); ?>
    </form>

    <?php do_action( ‘woocommerce_after_edit_account_form’ ); ?>

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
  • Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi @colleenlabbe!

    Thanks for providing the details and the contents of your form-edit-account.php template.

    I understand that the Save changes button is missing from the Edit Account page, while the other My Account pages are working correctly.

    I reviewed the template you shared, and the Save changes button is present in the WooCommerce template near the bottom of the file:

    <button type="submit" ...>Save changes</button>

    This means the issue is unlikely to be caused by the WooCommerce template itself, assuming the code on the live site matches the template you shared.

    Since the button exists in the HTML/PHP template but is not appearing on the page, this could indicate that something on the site is hiding or modifying the button, such as the theme, a plugin, or custom CSS/JavaScript.

    As a next step, I recommend performing a conflict test on a staging site:

    1. Temporarily switch to a default WordPress theme, such as Twenty Twenty-Five.
    2. Disable all plugins except WooCommerce.
    3. Check the My Account → Edit Account page again.
    4. If the button appears, reactivate the plugins and theme one at a time to identify what is causing the issue.

    If you still experience the same issue after performing a conflict test, Please share your WooCommerce System Status Report and Fatal error logs (if any) under WooCommerce > Status > Logs with us. You can paste the report on Pastebin and enable the “Burn after read” option so that the report is automatically removed after it has been viewed.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.