ilovewordpress
  • 0
Новичок

Изменить постоянную ссылку автора

  • 0

Исходные URL-адреса для пользователей выглядят так/author/login/

Можно ли заменить логин на id пользователя?

В моем сне URL-адреса должны стать /users/34/ (34 — это идентификатор пользователя).

Спасибо.

Share
  1. Почему вы хотите использовать идентификаторы пользователей вместо имен пользователей? Идентификаторы очень неудобны для пользователя.

    • 0
  2. вам нужны 3 простые функции и хуки

    сначала измените базу авторов:

    //change author/username base to users/userID
    function change_author_permalinks() {
      global $wp_rewrite;
       // Change the value of the author permalink base to whatever you want here
       $wp_rewrite->author_base = 'users';
      $wp_rewrite->flush_rules();
    }
    
    add_action('init','change_author_permalinks');
    

    затем добавьте пользователей в query_vars:

    add_filter('query_vars', 'users_query_vars');
    function users_query_vars($vars) {
        // add lid to the valid list of variables
        $new_vars = array('users');
        $vars = $new_vars + $vars;
        return $vars;
    }
    

    затем добавьте новое правило перезаписи:

    function user_rewrite_rules( $wp_rewrite ) {
      $newrules = array();
      $new_rules['users/(\d*)$'] = 'index.php?author=$matches[1]';
      $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
    }
    add_filter('generate_rewrite_rules','user_rewrite_rules');
    

    Теперь, если вы не знаете, как это использовать, просто скопируйте весь код и вставьте его в файл functions.php вашей темы.

    • 0
  3. Вы можете использовать правило htaccess, чтобы переписать /users/34 в /?author=34.

    • 0

Оставить ответ

You must login to add an answer.