Thay đổi đường dẫn cho nội dung bài viết

Cập nhật lần cuối vào

Khi bạn thay đổi tên miền hoặc bạn sao chép bài viết từ một trang web khác, các đường link và đường dẫn của hình ảnh bên trong nội dung của bài viết sẽ không phù hợp với trang của bạn. Cũng từ nhu cầu đó mà mình đăng bài viết này để hướng dẫn cho bạn cách thay đổi đường dẫn bên trong nội dung của bài viết.

Thay đổi đường dẫn cho nội dung bài viết

Bài viết này là phần mở rộng thêm cho bài viết hướng dẫn chuyển đổi tên miền cho WordPress mà mình đã đăng trước đó trên blog hocwp.net.

1. Dùng chức năng search and replace của phần mềm Notepad++

Khi bạn muốn chuyển đổi tên miền, ngoài việc bạn khai báo lại tên miền mới cho WordPress thì bạn cũng cần phải cập nhật lại các đường dẫn bạn đã chèn link trong cơ sở dữ liệu. Cách này là cách đơn giản nhất, không cần biết nhiều về code thì bạn cũng làm được.

Bạn chỉ cần export tập tin cơ sở dữ liệu của bạn về máy tính với dạng là ten-csdl.sql, sau đó bạn mở tập tin này lên bằng phần mềm Notepad++ hoặc bất kỳ phần mềm nào khác có thể đọc văn bản dạng text.

Bạn dùng chức năng search and replace, tìm kiếm và thay thế đường dẫn cũ thành đường dẫn mới, nhớ tùy chọn thêm tìm kiếm phân biệt hoa thường và tìm kiếm chính xác để kết quả không bị sai khi thực hiện.

Sau đó bạn lưu lại tập tin cơ sở dữ liệu mới, import trở lại lên hosting là có thể chạy được.

2. Dùng truy vấn SQL trong phpMyAdmin

Với cách thứ 2 này thì bạn cần phải biết một chút về truy vấn SQL. Bạn đăng nhập vào bên trong bảng điều khiển của phpMyAdmin, sau đó thực hiện câu lệnh truy vấn như bên dưới:

UPDATE wp_posts SET post_content = (REPLACE (post_content, '<old url>', '<new url>'));

Bạn nhớ chú ý tới tên table, đường dẫn cũ và đường dẫn mới, thay đổi đoạn code bên trên sao cho phù hợp với trường hợp cơ sở dữ liệu của bạn.

3. Dùng hàm trong WordPress

Đối với cách này thì bạn cần phải biết truy vấn SQL và PHP, bạn mở tập tin functions.php của giao diện lên và thêm vào đoạn code bên dưới:

function hocwp_post_change_content_url($old_url, $new_url) {
    global $wpdb;
    return $wpdb->query("UPDATE $wpdb->posts SET post_content = (REPLACE (post_content, '$old_url', '$new_url'))");
}

Sau khi khai báo hàm xong, bạn gọi hàm này ngay bên dưới đoạn khai báo, thêm vào tham số đường dẫn cũ và đường dẫn mới, tải lại trang để nó chạy một lần và sau đó xóa bỏ những gì bạn đã làm từ nãy đến giờ để giao diện trở về trạng thái cũ.

Như vậy, với 3 cách bên trên thì bạn hoàn toàn có thể thay thế được các đường link bên trong nội dung bài viết, đối với các table khác bên trong cớ sở dữ liệu thì bạn cũng làm tương tự nếu cần thiết. Chúc bạn thành công.

Theo dõi
Thông báo của
guest

4 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
etpepoxy
8 năm trước

Hi mọi người,
website của em là http://etpco.vn/ mình muốn cài thêm addon domain http://sonepoxyvn.com/ trên host này. Nhưng khi tạo thư mục cho addon domain ngang với public-html thì mình login vào wordpress không được và website báo lỗi. Còn mình tạo thư mục dành cho addon domain theo đường dẫn /public-html/thư mục cho addon domain thì đường dẫn các post có dạng http://etpco.vn/sonepoxyvn.com/post. Mình vào Permalink chỉnh cũng không được.Trong khi mình muốn 2 website này là riêng biệt. Bác nào chỉ cho em cách giải quyết với
Thank các Bác nhiều!

hiếu
6 năm trước

bạn có bài viết hướng dẫn nào về việc thay đổi url bài viết khi cập nhật nội dung không nhỉ? Mình đang không biết thao tác redirect 301 url cũ sang url mới