Add this code in your theme function.php
$items = array(
// 'dashboard' => __( 'Dashboard', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
// 'downloads' => __( 'Downloads', 'woocommerce' ),
'edit-address' => __( 'Address', 'woocommerce' ),
// 'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
'edit-account' => __( 'Edit Account', 'woocommerce' ),
// 'customer-logout' => __( 'Logout', 'woocommerce' )
add_filter( 'woocommerce_account_menu_items', 'wc_limit_account_menu_items' );
WordPress stored the latest entered password as a secure hash in a cookie named
'wp-postpass_' . COOKIEHASH.
When the password form is called, that cookie has been validated already by WordPress. So you just have to check if that cookie exists: If it does and the password form is displayed, the password was wrong.
add_filter( 'the_password_form', 'wpse_71284_custom_post_password_msg' );
* Add a message to the password form.
* @wp-hook the_password_form
* @param string $form
* @return string
function wpse_71284_custom_post_password_msg( $form )
// No cookie, the user has not sent anything until now.
if ( ! isset ( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ) )
// Translate and escape.
$msg = esc_html__( 'Sorry, your password is wrong.', 'your_text_domain' );
// We have a cookie, but it doesn’t match the password.
$msg = "<p class='custom-password-message'>$msg</p>";
return $msg . $form;