Code tự động thay đổi ngày tháng hiện tại ở tiêu đề và nội dung bài viết

 Hôm nay mình sẽ hướng dẫn các bạn thực hiện điều này một cách đơn giản chỉ với 1 đoạn code dán vào function.php

Để chèn tự động ngày tháng hiện tại vào tiêu đề và nội dung bài viết, bạn làm theo các bước sau:

Bước 1: Vào Admin của website, sau đó xuống menu Giao diện => bạn chọn Theme File Editor (chỉnh sửa giao diện)

Bước 2: Bạn chọn Theme mà bạn đang dùng (Child Theme) ==> bấm vài Function.php

Bước 3: Bạn chèn đoạn Code sau đây vào và bấm Cập nhật => Xong

Cập nhật: Đoạn code trước do mình vội nên không để ý vì vậy ngày tháng tự động chỉ hiển thị khi xem bài chi tiết, còn các vị trí khác như trang chủ, category, sidebar,… Vẫn hiển thị shortcode mà không hiển thị ngày tháng hiện tại. 

Lỗi này xảy ra vì khi vì đoạn code trước mình sử dụng hàm str_replace() trong hàm replace_current_date_in_title(), ngày hiện tại đã được thay thế bằng giá trị cụ thể date(‘d/m/Y’). Điều này dẫn đến việc ngày tháng không được cập nhật động khi trang được tạo.

Để giải quyết vấn đề này, thay vì thực hiện thay thế trong hàm replace_current_date_in_title(), chúng ta có thể sử dụng một hàm khác để thay thế ngày tháng trong tiêu đề mỗi khi nó được hiển thị. Dưới đây là phiên bản đã cập nhật của đoạn code mới:

// Code chèn ngày tháng tự động
function current_date_shortcode() {
    return date('d/m/Y');
}
add_shortcode('current_date', 'current_date_shortcode');
 
function replace_current_date_in_title($title, $id = null) {
    if ((is_single() || is_home() || is_category() || is_front_page()) && !is_admin()) {
        $title = str_replace('[current_date]', do_shortcode('[current_date]'), $title);
    }
    return $title;
}
add_filter('the_title', 'replace_current_date_in_title', 10, 2);
 
function replace_current_date_in_content($content) {
    if ((is_single() || is_home() || is_category() || is_front_page()) && !is_admin()) {
        $content = str_replace('[current_date]', do_shortcode('[current_date]'), $content);
    }
    return $content;
}
add_filter('the_content', 'replace_current_date_in_content');

Bước 4: Sau khi đã thêm đoạn code trên vào function.php, bây giờ bạn chỉ việc mở một bài viết mới lên, thử điền tiêu đề và phía sau tiêu đề (chỗ cần ghi ngày tháng), bạn chèn shortcode 11/03/2024 vào, như vậy là xong 

Trong nội dung bài viết cũng vậy, chỗ nào cần điền ngày tháng tự động, bạn chỉ việc thêm vào shortcode 11/03/2024

Ngoài ra các bạn lưu ý, hướng dẫn trên chỉ dùng cho tiêu đề trên web và nội dung bài viết, còn với tiêu đề SEO khi các bạn dùng Rank Math SEO thì nó vẫn sẽ hiển thị 11/03/2024 phía cuối tiêu đề, vì vậy để chèn ngày tháng tự động vào tiêu đề SEO, bạn vui lòng đổi shortcode 11/03/2024 thành %currentdate% là xong

Nhận xét

Bài đăng phổ biến từ blog này

Custom Schema Product với Rankmath cực kì chuẩn

18 Prompt giúp bạn xác định và khai thác rào cản và động lực của khách hàng mục tiêu.

Cách xuất File trong Google Search Console không bị giới hạn 1000 data