Loop trong WordPress là gì?
Loop (vòng lặp) là cách WordPress lấy ra và hiển thị bài viết từ cơ sở dữ liệu.
Nó giống như:
“Tôi có 10 bài viết → duyệt từng cái một → hiển thị tiêu đề, nội dung, ảnh,…”
Cấu trúc Loop cơ bản:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<div><?php the_content(); ?></div>
<?php endwhile; ?>
<?php else : ?>
<p>Không có bài viết nào.</p>
<?php endif; ?>
Giải thích:
have_posts(): Kiểm tra còn bài viết khôngthe_post(): Duyệt qua từng bài viết, chuẩn bị dữ liệu cho các hàm nhưthe_title()the_title(): Hiển thị tiêu đềthe_content(): Hiển thị nội dung bài viết
Ví dụ thực tế: hiển thị danh sách bài viết
Chèn đoạn này vào index.php hoặc home.php trong theme:
<?php if ( have_posts() ) : ?>
<ul>
<?php while ( have_posts() ) : the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php the_excerpt(); ?></p>
</li>
<?php endwhile; ?>
</ul>
<?php else : ?>
<p>Chưa có bài viết nào.</p>
<?php endif; ?>
Một số hàm thường dùng trong Loop
| Hàm | Tác dụng |
|---|---|
the_title() | Hiển thị tiêu đề |
the_content() | Hiển thị toàn bộ nội dung |
the_excerpt() | Hiển thị đoạn trích (mặc định 55 từ) |
the_permalink() | Lấy link đến bài viết |
the_post_thumbnail() | Hiển thị ảnh đại diện |
the_category() | Hiển thị danh mục |
the_tags() | Hiển thị thẻ tag |
get_the_date() | Lấy ngày đăng bài |
Tùy chỉnh Loop (WP_Query)
Để lấy bài viết theo điều kiện riêng, dùng WP_Query:
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'category_name' => 'tin-tuc',
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile;
wp_reset_postdata();
else :
echo 'Không có bài viết.';
endif;
?>
Tóm tắt
- Loop là xương sống để hiển thị bài viết
- Cơ bản:
have_posts()+the_post()+ các hàmthe_title(),the_content()… - Nâng cao: dùng
WP_Queryđể lọc bài viết theo điều kiện riêng

Thảo luận