Trong bài viết này, Truyền Nguyễn sẽ chia sẻ bạn cách sử dụng cả plugin Rank Math và Yoast SEO để tự động cập nhật thời gian vào tiêu đề bài viết mà không cần phải vào chỉnh sửa thủ công. Đối với nhiều bài viết như vậy sẽ làm chúng ta mất thời gian và sai sót Cách này này sẽ giúp tự động cập nhật thời gian hiện tại mỗi khi bạn tạo bài đăng mới hoặc cập nhật bài đăng.
1. Cài đặt và kích hoạt các plugin để cài đặt tự động cập nhật thời gian vào tiêu đề bài viết
Trước tiên, bạn cần cài đặt và kích hoạt plugin Rank Math hoặc Yoast SEO từ Trang quản lý plugin trong WordPress. Sau khi cài đặt, bạn có thể truy cập vào Trang cài đặt của từng plugin để tùy chỉnh cấu hình theo ý muốn.
2. Thêm đoạn mã vào functions.php hoặc plugin tùy chỉnh
Tiếp theo, chúng ta sẽ thêm đoạn mã sau vào file functions.php của theme WordPress hoặc một plugin tùy chỉnh để kích hoạt Shortcode [thoigian]:
// Tạo Shortcode [thoigian] để hiển thị năm hiện tại.
add_shortcode( 'thoigian', 'current_year' );
// Hàm callback để lấy năm hiện tại.
current_year() {
$year = date( 'Y' ); // Đổi 'm/Y' thành 'Y' để hiển thị năm đầy đủ (ví dụ: 2023).
return $year;
}
Tiếp theo, chúng ta kích hoạt việc chèn Shortcode [thoigian] vào Tiêu đề, Mô tả ngắn và Nội dung bài đăng bằng cách thêm các bộ lọc sau vào file functions.php hoặc plugin tùy chỉnh:
// Kích hoạt chức năng mã ngắn trong Tiêu đề bài viết, Đoạn trích và Nội dung. add_filter( 'the_title', 'do_shortcode' ); add_filter( 'the_excerpt', 'do_shortcode' ); add_filter( 'the_content', 'do_shortcode' );
3: Tích hợp các biến với Rank Math SEO và Yoast SEO
3.1. Tích hợp với Rank Math:
Để cho phép Rank Math SEO hiểu và phân tích biến %thoigian% trong tiêu đề và mô tả ngắn, bạn cần thêm đoạn mã sau vào file functions.php hoặc plugin tùy chỉnh:
// Đăng ký hành động để thêm biến thay thế tùy chỉnh vào Rank Math add_action( 'rank_math/vars/register_extra_replacements', function() { rank_math_register_var_replacement( 'thoigian', // Tên biến thay thế [ 'name' => esc_html__( 'Năm hiện tại', 'rank-toán' ), 'description' => esc_html__( 'Lấy và trả về năm hiện tại', 'rank-math' ), 'variable' => 'thoigian', // Tên biến dùng để thay thế 'ví dụ' => my_Current_Year_Custom_callback(), // Ví dụ ], 'my_Current_Year_Custom_callback' // Gọi lại tên hàm ); }); // Hàm callback để trả về năm hiện tại chức năng my_Current_Year_Custom_callback() { return date_i18n( 'Y' ); // Định dạng năm (vd: 2023) }
Chú thích:
rank_math/vars/register_extra_replacements
: Hành động để đăng ký biến thay thế tùy chỉnh trong Rank Math.'thoigian'
: Tên biến thay thế bạn đang đăng ký.'Current year'
: Tên của biến thay thế để hiển thị trong giao diện của Rank Math.'Get and return the current year'
: Mô tả về biến thay thế.'thoigian'
: Tên biến mà bạn sử dụng để thay thế trong tiêu đề SEO.my_Current_Year_Custom_callback()
: Ví dụ về cách biến thay thế có thể được sử dụng trong hàm callback.my_Current_Year_Custom_callback
: Tên hàm callback bạn đang định nghĩa để trả về giá trị của biến thay thế.date_i18n( 'Y' )
: Hàm để lấy năm hiện tại theo định dạng ‘Y’.
3.2. Tích hợp với Yoast SEO:
Để tích hợp Shortcode với Yoast SEO, bạn cần sử dụng filer wpseo_title và wpseo_metadesc để cho phép Yoast SEO phân tích cú pháp trong tiêu đề và mô tả trang. Thêm đoạn mã sau vào file functions.php hoặc plugin tùy chỉnh:
// Định nghĩa hàm filter_wpseo_replacements với tham số $replacements hàm filter_wpseo_replacements( $replacements ) { // Kiểm tra nếu thay thế '%%currentmonth%%' tồn tại trong danh sách thay thế nếu ( isset( $replacements['%%currentmonth%%'] ) ) { // Đặt múi giờ mặc định thành châu Á/Hồ Chí Minh date_default_timezone_set( 'Châu Á/Hồ_Chí_Minh' ); // Gán giá trị của '%%currentmonth%%' thành tháng hiện tại (định dạng 'mm') $replacements['%%currentmonth%%'] = ngày( 'm' ); } // Trả về danh sách thay thế sau khi đã thay đổi trả lại $replacements; } // Đăng ký hàm filter_wpseo_replacements làm filter cho bộ thay thế của Yoast SEO add_filter( 'wpseo_replacements', 'filter_wpseo_replacements', 10, 1 );
Chú thích:
- Hàm
filter_wpseo_replacements
là hàm bạn tự định nghĩa để thay đổi bộ thay thế cho Yoast SEO. isset( $replacements['%%currentmonth%%'] )
kiểm tra xem ‘%%currentmonth%%’ có tồn tại trong danh sách thay thế hay không.date_default_timezone_set( 'Asia/Ho_Chi_Minh' )
đặt múi giờ mặc định cho PHP thành múi giờ châu Á/Hồ Chí Minh.$replacements['%%currentmonth%%'] = date( 'm' )
gán giá trị của ‘%%currentmonth%%’ thành tháng hiện tại (sử dụng hàmdate
với định dạng ‘mm’ để lấy mã tháng).add_filter( 'wpseo_replacements', 'filter_wpseo_replacements', 10, 1 )
đăng ký hàmfilter_wpseo_replacements
làm filter cho bộ thay thế của Yoast SEO với mức độ ưu tiên 10 và 1 tham số (danh sách thay thế) đầu vào.
Sau khi chúng ta hoàn thành việc cài đặt code, bây giờ chúng ta sẽ bắt đầu áp dụng shortcode và biến đê tự động cập nhật thời gian vào tiêu đề bài viết nha các bạn.
4. Kích hoạt Shortcode trong Tiêu đề, Mô tả ngắn và Nội dung bài đăng
4.1. Cập nhật trong tiêu đề, nội dung bài viết
Nếu chúng ta cần đặt vào tiêu đề bài viết thì chùng ta sẽ thêm shortcode [thoigian] vào bên trong tiêu dề, ở đây ngoài tiêu đề chúng ta có thể đặt vào trong nội dung hoặc mô tả ngắn của bài viết

Sau khi chúng ta thêm shortcode vào tiêu dề và cập nhật lại sẽ được kết quả sau:

4.2. Cập nhật tiêu đề seo, mô tả seo ngày tháng tự động và hiển thị kết quả tìm kiếm trên Google
Đối với Rank Math
Sau khi chúng ta xử lý các đoạn code ở phần 3.1, tiếp theo để cập nhật thời gian tự động trên tiêu đề, và mô tả ngắn chúng ta sẽ thêm vào biến %thoigian% trong phần Title, Description của Rank Math

Đối với Yoast SEO
Bạn có thể sử dụng biến (variables template) %%currentday%%, %%currentmonth%%, %%currentyear%% tương ứng với ngày, tháng, năm hiện tại để cập nhật tự động thông tin như cách trên, tuy nhiên riêng đối với tháng khi sử dụng variables Yoast SEO sẽ hiển thị dạng chữ thay vì dạng số, ví dụ Tháng 4 thay vì 4. Tuy nhiên khi chúng ta sử dụng đoạn code xử lý ở phần 3.2 thì chúng ta đã chuyển sang dạng số bình thường như bên dưới đây.

5. Kết luận
Như vậy, bạn đã nắm được cách sử dụng cả plugin Rank Math và Yoast SEO để hiển thị tiêu đề chứa thời gian hiện tại. Điều này giúp bạn tự động cập nhật thời gian trong tiêu đề và mô tả của bài viết một cách dễ dàng và tiện lợi. Nếu bạn có bất kỳ câu hỏi hoặc gặp khó khăn trong quá trình thực hiện, hãy để lại ý kiến hoặc yêu cầu giúp đỡ trong phần bình luận bên dưới. Chúng tôi rất vui lòng được hỗ trợ bạn. Chúc bạn thành công! Lưu ý rằng đây chỉ là một bài viết hướng dẫn cơ bản. Bạn có thể điều chỉnh và bổ sung bài viết sao cho phù hợp với nội dung và mục tiêu của trang web của bạn.