Thay đổi url tác giả WordPress không cần plugin

Theo mặc định trong WordPress link lưu trữ cho tác giả sẽ có dạng mặc định và không có chức năng custom được xây dựng riêng, nên những ai cần thay đổi author base sẽ không thể tuỳ chỉnh được.

Trong bài viết này mình sẽ hướng dẫn bạn cách để thay đổi author base trên url mà không cần plugin, mình cũng sẽ giới thiệu thêm plugin để bạn có thể sử dụng nếu cần.

Thay đổi url tác giả trong WordPress không cần plugin

Mặc định WP sẽ có url tác giả như sau:

Url cho của tác giả Nam Anh Vũ: https://vutruso.com/author/namanhvu/
Url cho của tác giả Vũ Trụ Số: https://vutruso.com/author/vutruso/

Vậy author base chính là chữ author

Để thay đổi author base mà không cần tới plugin bạn có thể sử dụng code dưới đây nhé, code sẽ thay chữ author thành tac-gia nhé. (Bạn có thể thay chữ tac-gia thành chữ gì mà bạn muốn)

// Change permalink author base
function vutruso_custom_author_base() {
    global $wp_rewrite;
    $wp_rewrite->author_base = 'tac-gia';
}
add_action( 'init', 'vutruso_custom_author_base' );

Đây là code basic nếu bạn cần thay đổi nhanh author base slug

Nếu bạn muốn thêm 1 trường Author base ở phần Permalink Settings thì bạn có thể dùng code dưới đây.

/**
 * Rewrite author base to custom
 *
 * @return void
 */
function vutruso_author_base_rewrite() {
    global $wp_rewrite;
    $author_base_db = get_option( 'lwp_author_base' );
    if ( !empty( $author_base_db ) ) {
        $wp_rewrite->author_base = $author_base_db;
    }
}

add_action( 'init', 'vutruso_author_base_rewrite' );

/**
 * Render textinput for Author base
 * Callback for the add_settings_function()
 *
 * @return void
 */
function vutruso_author_base_render_field() {
    global $wp_rewrite;
    printf(
        '<input name="lwp_author_base" id="lwp_author_base" type="text" value="%s" class="regular-text code">',
        esc_attr( $wp_rewrite->author_base )
    );
}

/**
 * Add a setting field for Author Base to the "Optional" Section
 * of the Permalinks Page
 *
 * @return void
 */
function vutruso_author_base_add_settings_field() {
    add_settings_field(
        'lwp_author_base',
        esc_html__( 'Author base' ),
        'vutruso_author_base_render_field',
        'permalink',
        'optional',
        array( 'label_for' => 'lwp_uthor_base' )
    );
}

add_action( 'admin_init', 'vutruso_author_base_add_settings_field' );

/**
 * Sanitize and save the given Author Base value to the database
 *
 * @return void
 */
function vutruso_author_base_update() {
    $author_base_db = get_option( 'lwp_author_base' );

    if ( isset( $_POST['lwp_author_base'] ) &&
        isset( $_POST['permalink_structure'] ) &&
        check_admin_referer( 'update-permalink' )
    ) {
        $author_base = sanitize_title( $_POST['lwp_author_base'] );

        if ( empty( $author_base ) ) {
            add_settings_error(
                'lwp_author_base',
                'lwp_author_base',
                esc_html__( 'Invalid Author Base.' ),
                'error'
            );
        } elseif ( $author_base_db != $author_base ) {
            update_option( 'lwp_author_base', $author_base );
        }

    }
}

add_action( 'admin_init', 'vutruso_author_base_update' );

Đây là kết quả.

Thay đổi url tác giả trong WordPress với plugin

Có khá nhiều plugin giúp bạn thay đổi url tác giả, nhưng thông dụng và đáp ứng yêu cầu nhất là plugin Edit Author Slug

Plugin này có ưu điểm là thay đổi slug hoặc author base dự theo quyền (roles) của người dùng, ví dụ nếu quản trị viên thì có thể đổi là: https://vutruso.com/quan-tri-vien/vutruso/ hoặc giả sử người dùng có quyền là author thì sẽ đổi thành https://vutruso.com/tac-gia/vutruso/

Nói chung rất hay để bạn có thể thay đổi author base, đặc biệt plugin này cho bạn thay đổi slug của riêng từng author dựa theo username, hoặc bất cứ slug nào bạn muốn.

Bạn có thể xem thêm plugin Edit Author Slug

Sau khi cài đặt bạn có thể vào phần cài đặt plugin tại mục (Settings -> Edit Author Slug) để set nhé, sau khi set xong nhớ vào Settings > Permalinks và click “Save Changes” để cập nhật lại url tránh lỗi 404 ở author archive là xong.

Lưu ý, các website mới thì việc thay đổi slug author không thành vấn đề, tuy nhiên các website cũ bạn nên cài đặt plugin Redirection và đặt lệnh chuyển hướng url author cũ về mới nhé.

Regex chuyển hướng bạn có thể áp dụng như sau:

Source URL nhập vào

/author/(.*)$

Target URL nhập vào

https://vutruso.com/tac-gia/$1

Hy vọng bài viết này sẽ giúp ích được cho nhiều người.

5/5 - (58 votes)

donate Nếu bạn thấy bài viết có ích bạn có thể donate cho team hoặc chia sẻ bài viết này. Ngoài ra bạn có thể yêu cầu thêm bài viết tại đây
Đã copy
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, dịch vụ quảng cáo Google, quảng cáo Facebook, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan