get_the_date là hàm trả về thời gian bài viết được publish theo dạng string. Tức là khi dùng hàm get_the_date() để lấy dữ liệu, muốn hiển thị nó ra thì ta phải echo dữ liệu đó. Định dạng ngày tháng được hỗ trợ theo đúng chuẩn PHP Date Format.
Table of Contents
Giới thiệu về hàm get_the_date
Đây là hàm nằm trong lõi (core) của WordPress. Bạn có thể tìm thấy hàm get_the_date ở file này wp-includes/general-template.php
function get_the_date( $format = '', $post = null ) { $post = get_post( $post ); if ( ! $post ) { return false; } if ( '' === $format ) { $the_date = get_post_time( get_option( 'date_format' ), false, $post, true ); } else { $the_date = get_post_time( $format, false, $post, true ); } return apply_filters( 'get_the_date', $the_date, $format, $post ); }
Cách sử dụng hàm get_the_date
get_the_date($format,$post_id);
Trong đó $format là định dạng thời gian. Định dạng này hỗ trợ theo chuẩn PHP DateTime Format
$post_id là ID của bài viết / page cần lấy thông tin thời gian.
Một số ví dụ về cách dùng get_the_date()
Lấy thông tin thời gian trong vòng lặp
<time datetime="<?php echo get_the_date('c'); ?>" itemprop="datePublished"><?php echo get_the_date(); ?></time>
Muốn lấy thời gian của bài viết / page hiện tại đang xem:
echo get_the_date(get_the_ID());
Lấy thời gian publish của bài viết hiện tại đang xem và đổi định dạng ngày tháng năm thành Monday January 1st, 2024:
echo get_the_date('l F dS, Y', get_the_ID());
Thay đổi định dạng ngày tháng năm hiển thị ra ngoài:
Ví dụ muốn hiển thị: Monday January 11, 2024
$post_date = get_the_date( 'l F j, Y' ); echo $post_date;
Ví dụ muốn hiển thị: Wed Jan 9, 2024
$post_date = get_the_date( 'D M j, Y' ); echo $post_date;
Hiển thị dạng 15th Jan 2024
echo get_the_date( 'dS M Y', $post->ID );
Lấy thời gian publish của bài viết bất kỳ với id là $id:
echo get_the_date($id);
Cộng thêm 1 ngày vào thời gian publish bài viết. Ví dụ bạn publish bài viết vào ngày 10 October nhưng bạn muốn nó hiện ra vào ngày 11 October:
$date_add_1_day = date('j-F-Y', strtotime('+1 day', get_the_date('U'))); echo "Published on: $date_add_1_day\n";
Thay +1 day thành số ngày bạn muốn thêm.
So sánh thời gian giữa lúc bài viết được published với thời gian hiện tại. Ví dụ hiện ra kiểu: Bài viết được public 1 năm, 2 tháng, 3 ngày trước. Hoặc bài viết được published 330 ngày trước:
$difference = get_the_date('U',$id)->diff(time()); echo '<br />Difference: <br />'.$difference->y.' years, <br />' .$difference->m.' months, <br />' .$difference->d.' days<br /><br />'; echo 'Số ngày: '. $difference->days;
Nói chung, muốn thay đổi định dạng ngày tháng năm các bạn chỉ cần đổi tham số thứ nhất theo đúng định dạng được hỗ trợ theo chuẩn PHP DateTime Format. Các ký tự định dạng được tiêu chuẩn hóa và sử dụng toàn cầu trong ngôn ngữ lập trình PHP. Vì WordPress được viết bằng ngôn ngữ lập trình PHP nên bạn có thể sử dụng bảng ký tự định dạng Ngày và Giờ trực tiếp từ trang web php.net.
Đây là bảng các ký tự chuẩn hóa hay dùng được trích ra từ đó:
Day of Month | ||
---|---|---|
d | Numeric, with leading zeros | 01–31 |
j | Numeric, without leading zeros | 1–31 |
S | The English suffix for the day of the month | st, nd or th in the 1st, 2nd or 15th. |
Weekday | ||
l | Full name (lowercase ‘L’) | Sunday – Saturday |
D | Three letter name | Mon – Sun |
Month | ||
m | Numeric, with leading zeros | 01–12 |
n | Numeric, without leading zeros | 1–12 |
F | Textual full | January – December |
M | Textual three letters | Jan – Dec |
Year | ||
Y | Numeric, 4 digits | Eg., 1999, 2024 |
y | Numeric, 2 digits | Eg., 99, 03 |
Time | ||
a | Lowercase | am, pm |
A | Uppercase | AM, PM |
g | Hour, 12-hour, without leading zeros | 1–12 |
h | Hour, 12-hour, with leading zeros | 01–12 |
G | Hour, 24-hour, without leading zeros | 0-23 |
H | Hour, 24-hour, with leading zeros | 00-23 |
i | Minutes, with leading zeros | 00-59 |
s | Seconds, with leading zeros | 00-59 |
T | Timezone abbreviation | Eg., EST, MDT … |
Full Date/Time | ||
c | ISO 8601 | 2024-02-12T15:19:21+00:00 |
r | RFC 2822 | Thu, 21 Dec 2024 16:01:07 +0200 |
U | Unix timestamp (seconds since Unix Epoch) | 1455880176 |
Đồng nhất định dạng ngày tháng năm trên toàn bộ website
Nếu bạn muốn đồng nhất định dạng ngày tháng năm trên toàn bộ website của bạn theo một mô típ chung để cho chuyên nghiệp, các bạn có thể thực hiện theo các bước sau:
1, Cấu hình định dạng ngày tháng cho toàn website trong phần Setting/General của WordPress Dashboard.
2, Thay tất cả những chỗ nào có get_the_date với các định dạng khác thành định dạng kiểu này:
get_the_date( get_option( 'date_format' ) );
Một số ví dụ về định dạng ngày tháng năm
Dưới đây là một số ví dụ về các định dạng thời gian trong phần Setting và hàm get_the_date() có hỗ trợ. Bên cạnh là ví dụ về cách nó sẽ hiển thị ra bên ngoài như nào để các bạn dễ tưởng tượng.
- F j, Y g:i a – November 6, 2024 12:50 am
- F j, Y – November 6, 2024
- F, Y – November, 2024
- g:i a – 12:50 am
- g:i:s a – 12:50:48 am
- l, F jS, Y – Saturday, November 6th, 2024
- M j, Y @ G:i – Nov 6, 2024 @ 0:50
- Y/m/d \a\t g:i A – 2024/11/06 at 12:50 AM
- Y/m/d \a\t g:ia – 2024/11/06 at 12:50am
- Y/m/d g:i:s A – 2024/11/06 12:50:48 AM
- Y/m/d – 2024/11/06