Идентификатор пользователя получает непреднамеренный суффикс при регистрации - PullRequest
1 голос
/ 24 апреля 2019

При создании пользовательского сообщения при новой регистрации я использую идентификатор нового пользователя для имени сообщения и слаг. Имя получает правильный идентификатор, а слаг получает суффикс «-2». И редирект отправляет нового пользователя на рабочий URL (то есть с суффиксом «-2»)

Я не могу понять, что вызывает эту итерацию. И поскольку я буду использовать эти идентификаторы для ряда вещей, мне нужно от них избавиться.

if ( !username_exists( $user )  && !email_exists( $email ) ) {
   $user_id = wp_create_user( $user, $pass, $email );
   if( !is_wp_error($user_id) ) {
       //user has been created
       $user = new WP_User( $user_id );
       $user->set_role( 'participation' );
       $my_cptpost_args = array(
        'post_title' => $user_id,
        'slug' => $user_id,
        'post_status'   => 'publish',
        'post_type' => 'profile'
        );
        $cpt_id = wp_insert_post( $my_cptpost_args, $wp_error);
       //Redirect
       header( 'Location: http://mynewsite.com/profile/'.$user_id );
       exit;
   } else {
       //$user_id is a WP_Error object. Manage the error
   }
}

1 Ответ

0 голосов
/ 24 апреля 2019

post slug должен быть уникальным, WordPress выполняет операцию через метод wp_unique_post_slug над значением, отправленным, чтобы убедиться, что slug уникален:

/**
 * Computes a unique slug for the post, when given the desired slug and some post details.
 *
 * @since 2.8.0
 *
 * @global wpdb       $wpdb WordPress database abstraction object.
 * @global WP_Rewrite $wp_rewrite
 *
 * @param string $slug        The desired slug (post_name).
 * @param int    $post_ID     Post ID.
 * @param string $post_status No uniqueness checks are made if the post is still draft or pending.
 * @param string $post_type   Post type.
 * @param int    $post_parent Post parent ID.
 * @return string Unique slug for the post, based on $post_name (with a -1, -2, etc. suffix)
 */
function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent ){}

Описание метода хорошо объясняет, что вывод основан на post_name и суффиксирует значение с -1, -2 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...