Làm thế nào để hiển thị các bài đăng của tuần trước trong WordPress

Rất nhiều độc giả cấp độ mới bắt đầu sớm sửa đổi các chủ đề WordPress của họ vì đó là lý do vì sao chúng tôi có một trang chủ về chủ đề WordPress để giúp họ bắt đầu. Điều này mang lại một số thách thức thú vị cho người dùng mới. Một độc giả như vậy, gần đây đã hỏi chúng tôi cách hiển thị các bài đăng của tuần trước trong WordPress. Họ chỉ muốn thêm một phần trên trang chủ của họ hiển thị bài đăng từ tuần trước. Trong bài này, chúng tôi sẽ chỉ cho bạn cách hiển thị các bài đăng của tuần trước trong WordPress.

Trước khi chúng tôi hiển thị cho bạn cách hiển thị các bài đăng của tuần trước, trước tiên chúng ta hãy xem cách bạn có thể hiển thị các bài đăng trong tuần hiện tại bằng WP_Query. Sao chép và dán mã sau vào tệp functions.php của chủ đề hoặc plugin cụ thể cho trang web.

chức năng wpb_this_week () {
 $ tuần = ngày ('W');
 $ năm = ngày ('Y');
 $ the_query = new WP_Query ('year ='. $ year. '& w ='. $ tuần);
 if ($ the_query-> have_posts ()):
 trong khi ($ the_query-> have_posts ()): $ the_query-> the_post ();  ?> 

"title =" Liên kết vĩnh viễn đến ">

Trong ví dụ trên, chúng tôi đã phát hiện ra tuần và năm hiện tại. Sau đó chúng tôi sử dụng các giá trị này trong WP_Query để hiển thị bài đăng từ tuần hiện tại. Bây giờ tất cả bạn cần làm là thêm trong tệp chủ đề của bạn nơi bạn muốn hiển thị các bài đăng.

Điều này đơn giản, phải không? Bây giờ để hiển thị các bài đăng của tuần trước, tất cả những gì bạn cần làm là trừ đi 1 từ giá trị của tuần. Nhưng nếu đây là tuần đầu tiên của năm, thì bạn sẽ nhận được 0 cho tuần và năm hiện tại thay vì năm ngoái. Đây là cách bạn khắc phục sự cố đó.

chức năng wpb_last_week_posts () {
 $ thisweek = date ('W');
 if ($ thisweek! = 1):
 $ lastweek = $ thisweek - 1;
 khác:
 $ lastweek = 52;
 endif;
 $ năm = ngày ('Y');
 if ($ lastweek! = 52):
 $ năm = ngày ('Y');
 khác:
 $ năm = ngày ('Y') -1;
 endif;
 $ the_query = new WP_Query ('year ='. $ year. '& w ='. $ lastweek);
 if ($ the_query-> have_posts ()):
 trong khi ($ the_query-> have_posts ()): $ the_query-> the_post ();  ?> 

"title =" Liên kết vĩnh viễn đến ">

Trong mã mẫu ở trên, chúng tôi đã đặt hai kiểm tra. Kiểm tra đầu tiên đặt giá trị của tuần trước là 52 (đó là tuần cuối cùng trong năm) khi giá trị của tuần hiện tại là 1. Kiểm tra thứ hai kiểm tra giá trị của năm cho năm ngoái khi giá trị của tuần trước là 52.

Để hiển thị các bài đăng của tuần trước, tất cả những gì bạn cần làm là thêm vào tệp khuôn mẫu chủ đề của bạn, nơi bạn muốn hiển thị chúng. Hoặc nếu bạn muốn có một mã ngắn để bạn có thể thêm điều này vào một trang hoặc tiện ích, sau đó chỉ cần thêm dòng này bên dưới mã được đưa ra ở trên.

add_shortcode ('lastweek', 'wpb_last_week_posts'); 

Bây giờ, bạn có thể sử dụng mã ngắn này trong bài đăng, trang hoặc tiện ích như sau:

[tuần trước]

Xin lưu ý rằng bạn không cần WP_Query để tạo truy vấn tùy chỉnh. WordPress đi kèm với một số ít các chức năng để giúp bạn hiển thị bài viết, lưu trữ, nhận xét, v.v ... Nếu có một cách dễ dàng hơn để sử dụng các chức năng hiện có, thì bạn không thực sự cần phải viết các truy vấn của riêng mình.

Chúng tôi hy vọng bài viết này đã giúp bạn hiển thị các bài đăng của tuần trước trong WordPress. Thử nghiệm với mã và sửa đổi nó để đáp ứng nhu cầu của bạn. Hãy cho chúng tôi biết nếu bạn có bất kỳ câu hỏi nào bằng cách để lại nhận xét dưới đây hoặc tham gia với chúng tôi trên Twitter.