Bài viết này giới thiệu về các cách hiển thị thời gian đăng bài viết trong WordPress, gồm các định dạng cơ bản và thời gian tính từ thời điểm hiện tại, ví dụ “1 ngày trước”.
-
Thời gian theo định dạng cơ bản
Trong WordPress, các bạn sử dụng hàm the_time() để xuất thời gian đăng bài viết, ví dụ.
1<?php the_time('d/m/Y'); ?>Đoạn này sẽ cho ra kết quả như sau.
110/05/2017Bạn tập thử đoạn sẽ hiển thị như thế nào nhé.
1<?php the_time('l, j F, Y'); ?>Xem thêm các định dạng ngày tháng các bạn có thể tham khảo tại đây.
1https://wordpress.org/support/article/formatting-date-and-time/ -
Thời gian tính từ thời điểm hiện tại
Ví dụ: 2 phút trước. Để làm được điều này, bạn thêm hàm sau vào functions.php.
12345678910111213141516171819202122232425262728293031323334353637383940/*** Determines the difference between two timestamps*/function vi_human_time_diff($from, $to = '') {if (empty($to))$to = time();$diff = (int) abs($to - $from);if ($diff > 259200)return false;if ($diff < HOUR_IN_SECONDS) {$mins = round($diff / MINUTE_IN_SECONDS);if ($mins <= 1)$mins = 1;/* translators: min=minute */$since = sprintf(_n('%s phút', '%s phút', $mins), $mins);} elseif ($diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS) {$hours = round($diff / HOUR_IN_SECONDS);if ($hours <= 1)$hours = 1;$since = sprintf(_n('%s giờ', '%s giờ', $hours), $hours);} elseif ($diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS) {$days = round($diff / DAY_IN_SECONDS);if ($days <= 1)$days = 1;$since = sprintf(_n('%s ngày', '%s ngày', $days), $days);} elseif ($diff < 30 * DAY_IN_SECONDS && $diff >= WEEK_IN_SECONDS) {$weeks = round($diff / WEEK_IN_SECONDS);if ($weeks <= 1)$weeks = 1;$since = sprintf(_n('%s tuần', '%s tuần', $weeks), $weeks);} elseif ($diff < YEAR_IN_SECONDS && $diff >= 30 * DAY_IN_SECONDS) {$months = round($diff / (30 * DAY_IN_SECONDS));if ($months <= 1) $months = 1; $since = sprintf(_n('%s tháng', '%s tháng', $months), $months); } elseif ($diff >= YEAR_IN_SECONDS) {$years = round($diff / YEAR_IN_SECONDS);if ($years <= 1)$years = 1;$since = sprintf(_n('%s năm', '%s năm', $years), $years);}return $since;}Lưu ý: Câu lệnh if sau:
12if ($diff > 259200)return false;Số 259200 nghĩa là số giây của 3 ngày, tức là hàm này chỉ tính thời gian trong 3 ngày gần nhất, bạn có thể bỏ câu lệnh này nếu không muốn giới hạn hoặc thay đổi thông số tùy ý.
-
Sử dụng xuất ra kết quả
Để xuất thời gian trong WordPress, bạn dùng lệnh như sau.
12345678<?php$timeago = vi_human_time_diff(get_the_time('U'), current_time('timestamp'));if ($timeago == false) {the_time('d/m/Y');} else {echo $timeago . ' trước';}?>Để dùng thuận tiện chèn php ra giao diện ta dùng shortcode thì xem thêm cách tạo shortcode tại bài này
-
Khoảng trắng trong PHP
1str_repeat(' ', 5); // adds 5 spaces
Để hiển thị nhiều khoảng trắng trên hầu hết các trình duyệt web, hãy sử dụng thay vì khoảng trắng thông thường.
12echo "<p>Hello punt"; // This will render as Hello Punt (with 4 white spaces)echo "<p> Hello punt"; // This will render as Hello punt (with one space)
Để hiển thị dữ liệu ở định dạng thô (với số lượng khoảng trắng chính xác và “nhập”), hãy sử dụng thẻ HTML <pre>.
1echo "<pre>Hello punt</pre>"; //Will render exactly as written here (8 white spaces)
bạn có thể sử dụng thẻ
12345<pre><?php // code goes here?></pre>
Ví dụ khác nguồn.
123456789101112131415<?phpecho "<p>hello\n";echo "world</p>";echo "\n\n";echo "<p>\n\tindented\n</p>\n";echo "<div>easy formatting<br />across multiple lines!</div>";?>
Hiển thị ra
1234567891011<p>helloworld</p><p>indented</p><div>easy formatting<br />across multiple lines!</div>
NOTE
123bạn có thể sử dụng thẻ <pre> để ngăn chặn nhiều khoảng trắng và ngắt dòng thành một. Hoặc bạn có thể sử dụng cho một không gian thông thường (không phá vỡ không gian) và <br /> (hoặc <br>) để ngắt dòng.Nhưng đừng làm <br><br><br ><br> chỉ sử dụng thẻ <p> và điều chỉnh lề bằng CSS.
Mặc dù, bạn nên xác định kiểu trên toàn cầu và không phải là dòng như tôi đã làm trong ví dụ này.Khi bạn xuất các chuỗi từ PHP, bạn có thể sử dụng “\ n” cho một dòng mới và “\ t” cho một tab.
1<?php echo "This is one line\nThis is another line"; ?>Mặc dù, các cờ như\n hoặc\t chỉ hoạt động trong dấu ngoặc kép (“) chứ không phải các quote đoạn đơn (‘).
Một ví dụ khác để làm cho mã của bạn trông đẹp hơn khi xem nguồn
123$variable = 'foo';echo "this is my php variable $variable \n";echo "this is another php echo here $variable\n";hiển thị ra từ ví dụ này sẽ là.
12this is my php variable foothis is another php echo here fookhi bạn thêm nhiều khoảng trắng giữa dấu ngoặc kép hoặc dấu ngoặc đơn PHP chỉ mất một khoảng trắng, vì vậy nếu bạn muốn thêm nhiều khoảng trắng giữa các từ hoặc chuỗi, hãy sử dụng chuỗi ‘\ t’
1echo "\t";Bạn cũng có thể sử dụng cái này
1str_repeat("\x20", $numberOfRepeats);
Chúc bạn thành công.








