fix issue where user slug (profile id) wasn't properly updated
also fix redirection issue when author slug is changed and some minor code cleanup
This commit is contained in:
parent
1a2371f59d
commit
6f36e7d466
2 changed files with 26 additions and 29 deletions
|
@ -376,19 +376,20 @@ function wasmo_update_user( $post_id ) {
|
|||
|
||||
$user_id = intval( substr( $post_id, 5 ) );
|
||||
|
||||
// update user nicename/displayname from acf fields
|
||||
wp_update_user( array(
|
||||
'ID' => $user_id,
|
||||
'user_nicename' => sanitize_title( get_field( 'profile_id', 'user_'. $user_id ) ),
|
||||
'display_name' => sanitize_text_field( get_field( 'display_name', 'user_'. $user_id ) )
|
||||
) );
|
||||
// resave values back ot user acf fields
|
||||
$user_info = get_userdata( $user_id );
|
||||
$user_loginname = $user_info->user_login;
|
||||
$user_displayname = $user_info->display_name;
|
||||
$user_nicename = $user_info->user_nicename;
|
||||
update_field( 'display_name', $user_displayname, 'user_' . $user_id );
|
||||
update_field( 'profile_id', $user_nicename, 'user_' . $user_id );
|
||||
// update user_nicename and display_name from the equivalent acf fields
|
||||
|
||||
$userDisplayname = sanitize_text_field( $_POST['acf']['field_5cb486045a336'] );
|
||||
$userSlug = sanitize_title( $_POST['acf']['field_5cb486165a337'] );
|
||||
// $user_displayname = sanitize_text_field( get_field( 'display_name', 'user_'. $user_id ) );
|
||||
// $user_slug = sanitize_title( get_field( 'profile_id', 'user_'. $user_id ) );
|
||||
update_user_meta( $user_id, 'nickname', $userSlug );
|
||||
$user_id = wp_update_user(
|
||||
array(
|
||||
'ID' => $user_id,
|
||||
'display_name' => $userDisplayname,
|
||||
'user_nicename' => $userSlug,
|
||||
)
|
||||
);
|
||||
|
||||
// clear all directory transients
|
||||
wasmo_delete_transients_with_prefix( 'wasmo_directory-' );
|
||||
|
@ -411,8 +412,8 @@ function wasmo_update_user( $post_id ) {
|
|||
'simple_history_log',
|
||||
'Updated profile for {displayname}({nicename}) (edit #{savecount}) {link}',
|
||||
[
|
||||
'nicename' => $user_nicename,
|
||||
'displayname' => $user_displayname,
|
||||
'nicename' => $userSlug,
|
||||
'displayname' => $userDisplayname,
|
||||
'savecount' => $save_count,
|
||||
'link' => get_author_posts_url( $user_id ),
|
||||
],
|
||||
|
@ -422,11 +423,12 @@ function wasmo_update_user( $post_id ) {
|
|||
|
||||
//only if not edited by an admin
|
||||
if ( !current_user_can( 'administrator' ) ) {
|
||||
// notify email
|
||||
wasmo_send_admin_email__profile_update( $user_id, $save_count );
|
||||
|
||||
|
||||
// update last_save timestamp for this user
|
||||
update_user_meta( $user_id, 'last_save', time() );
|
||||
|
||||
// email notification to admin
|
||||
wasmo_send_admin_email__profile_update( $user_id, $save_count );
|
||||
|
||||
/*
|
||||
// if admin - check if welcome email has been sent.
|
||||
|
@ -439,13 +441,10 @@ function wasmo_update_user( $post_id ) {
|
|||
*/
|
||||
}
|
||||
|
||||
wp_redirect( get_author_posts_url( $user_id ), 301);
|
||||
|
||||
exit;
|
||||
// redirect to view the profile on save
|
||||
wp_safe_redirect( get_author_posts_url( $user_id, $userSlug ), 301);
|
||||
exit();
|
||||
}
|
||||
add_action( 'acf/save_post', 'wasmo_update_user', 10 );
|
||||
add_action( 'acf/save_post', 'wasmo_update_spotlight', 10 );
|
||||
|
||||
|
||||
function wasmo_update_spotlight( $post_id ) {
|
||||
// only if category for spotlight posts
|
||||
|
@ -463,14 +462,15 @@ function wasmo_update_spotlight( $post_id ) {
|
|||
|
||||
}
|
||||
|
||||
add_action( 'acf/save_post', 'wasmo_update_user', 10 );
|
||||
add_action( 'acf/save_post', 'wasmo_update_spotlight', 10 );
|
||||
|
||||
function wasmo_send_user_email__welcome( $user_id ){
|
||||
$sitename = get_bloginfo( 'name' );
|
||||
$sitemail = get_bloginfo( 'admin_email' );
|
||||
$user_info = get_userdata( $user_id );
|
||||
// $user_loginname = $user_info->user_login;
|
||||
if ( $user_info ) {
|
||||
$user_displayname = $user_info->display_name;
|
||||
// $user_nicename = $user_info->user_nicename;
|
||||
$welcome_mail_to = $user_info->user_email;
|
||||
$welcome_headers = 'From: '. $sitemail;
|
||||
$welcome_mail_subject = 'Welcome to '.$sitename;
|
||||
|
@ -494,10 +494,8 @@ function wasmo_send_user_email__belated_welcome( $user_id ){
|
|||
$sitename = get_bloginfo( 'name' );
|
||||
$sitemail = get_bloginfo( 'admin_email' );
|
||||
$user_info = get_userdata( $user_id );
|
||||
// $user_loginname = $user_info->user_login;
|
||||
if ( $user_info ) {
|
||||
$user_displayname = $user_info->display_name;
|
||||
// $user_nicename = $user_info->user_nicename;
|
||||
$welcome_mail_to = $user_info->user_email;
|
||||
$welcome_headers = 'From: '. $sitemail;
|
||||
$welcome_mail_subject = 'A belated welcome to '.$sitename;
|
||||
|
|
|
@ -42,7 +42,6 @@ get_header(); ?>
|
|||
array(
|
||||
'post_id' => 'user_' . get_current_user_id(),
|
||||
'field_groups' => array( 4 ),
|
||||
'return' => get_author_posts_url( get_current_user_id() )
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
|
Loading…
Add table
Reference in a new issue