Customers: Update Autoship Customer in WP-Usermeta on Login
In this example, a developer adds a new meta_key (or updates an existing one) to the wp_usermeta table in their Wordpress database when a customer who has "Active" status Scheduled Orders logs in to their account.
Remember: Always test new code on a staging site before adding it to your live site.
Code Example:
/** * Checks if the current user logging in has an Active Scheduled Order * @see autoship_search_all_scheduled_orders() * * @param string $user_login The user's login * @param WP_User $user the user object */ function xx_check_is_active_autoship_customer_logging_in( $user_login, $user ){ // Check if user has a scheduled order and update a metadata value to be used later $orders = autoship_search_all_scheduled_orders( $user->ID, 1, array( 'statusNames' => array('Active') ) ); // Update the custom user meta update_user_meta( $user->ID, 'xx_has_active_autoship_order', !empty( $orders ) ); } add_action('wp_login', 'xx_check_is_active_autoship_customer_logging_in', 10, 2 );
Result:
User Id's 82 & 83 have logged on and have active Scheduled Orders, so we see the new meta_key populate in wp_usermeta table