Dự án WordPress cơ bản: vòng lặp file index.php (phần 12)

Kết thúc Loop

Cái sau kết thúc Loop. Sau cái này, các template tags liên quan đến post khác nhau sẽ
không làm việc như mong đợi (hay nếu chúng làm, chúng sẽ sử dụng post cuối cùng từ Loop).
Cái này có nghĩa rằng nếu bạn cần sử dụng một template tag cái làm việc bên trong Loop, bạn
cần đặt nó trước điểm này.

<?php endwhile; ?>

Phần này ngay sau kết thúc của vòng lặp, hiển thị các kiểm soát điều hướng để di chuyển tới
lui bởi mỗi trang web.

<div class=”navigation”>
<div class=”alignleft”><?php previous_posts_link(‘&laquo; Previous Entries’) ?></div>
<div class=”alignright”><?php next_posts_link(‘Next Entries &raquo;’,”) ?></div>
</div>

Nếu blog được thiết lập hiển thị 10 posts mỗi trang, và các điều kiện được sử dụng bởi The Loop
thu thập 25 posts, sẽ có 3 trang để điều hướng, hai trang mỗi trang 10 posts, một trang 5 posts.
Các liên kết điều hướng sẽ cho phép khách ghé thăm di chuyển tới lui qua tập hợp các posts.
Các kiểm soát điều hướng được bao gồm bên ngoài The Loop, nhưng bên trong điều kiện if, để rằng chúng
chỉ thể hiện nếu có posts. Bản thân các hàm điều hướng cũng kiểm tra liệu có hay không bất cứ thứ gì để
chúng link tới, dựa trên Loop hiện tại, và chỉ hiển thị các links nếu có thứ gì đó để link.

<?php else : ?>
<h2 class=”center”>Not Found</h2>
<p class=”center”>
<?php _e(“Sorry, but you are looking for something that isn’t here.”); ?></p>

Mệnh đề else quyết định cái gì sẽ làm nếu have_posts() (từ đó lên đỉnh) là false. Cái đó để nói là, các thứ
sau else sẽ chỉ được thực thi/hiển thị nếu The Loop có 0 posts. Không posts nào được thể hiện nếu, ví dụ khách
ghé thăm yêu cầu một ngày cụ thể trong đó không posts nào được tạo hay một tìm
kiếm được thực hiện cái không sinh ra kết quả.

<?php endif; ?>

Cái này kết thúc kiểm tra điều kiện “Nếu có posts làm cái này, mặt khác nếu không có posts, làm cái đó”. Một khi
kiểm tra điều kiện được hoàn thành template index.php mặc định tiếp theo bao gồm sidebar, và cuối cùng footer.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *