Code Thêm đuôi .html cho Post và Page WordPress

0 79

Một vấn đề được đặt ra là khi chúng ta di chuyển một website từ code php thuần túy có các đường dẫn url có đuổi .html sang sử dụng code mã nguồn mở wordpress mà vẫn giữ được cấu trúc dường dẫn URL như cũ.

Tuy nhiên mặc định đường dẫn url trong wordpress không có đuôi .html cho bài viết và Page. Tuy nhiên để thêm đuôi .html vào wordpress chúng ta có thể sử dụng plugin. Thế nhưng nếu cài nhiều plugin sẽ làm tốc độ website chạy chậm hơn. Bài viết này sẽ hướng dẫn bạn chèn đuôi .html vào bài viết và Trang (page) website wordpress mà không cần sử dụng plugin.

– Thay đổi đường dẫn cho Post và thêm đuôi .html

Đầu tiên bạn vào Trang Quản trị > Setting > Permalinks

Tick vào ô Custom Structure : thêm đoạn này /%postname%.html

Chọn Save Changes.

– Thay đổi đường dẫn cho Page và thêm đuôi .html

Các bạn mở file Functions.php trong thư mục theme và thêm đoạn function này vào :
[php]
add_action(‘init’, ‘VnKings_change_page_permalink’, -1);
function VnKings_change_page_permalink() {
global $wp_rewrite;
if ( strstr($wp_rewrite->get_page_permastruct(), ‘.html’) != ‘.html’ )
$wp_rewrite->page_structure = $wp_rewrite->page_structure . ‘.html’;
}
[/php]
Thêm đuôi .html cho Single Post Type
Ví dụ : Domain/baiviet.html
[php]add_action( ‘rewrite_rules_array’, ‘rewrite_rules’ );
function rewrite_rules( $rules ) {
$new_rules = array();
foreach ( get_post_types() as $t )
$new_rules[ $t . ‘/([^/]+).html$’ ] = ‘index.php?post_type=’ . $t . ‘&name=$matches[1]’;
return $new_rules + $rules;
}
add_filter( ‘post_type_link’, ‘custom_post_permalink’ ); // for cpt post_type_link (rather than post_link)
function custom_post_permalink ( $post_link ) {
global $post;
$type = get_post_type( $post->ID );
return home_url( $type . ‘/’ . $post->post_name . ‘.html’ );
}[/php]

Ví dụ : Domain/chi-tiet-san-pham.html