Lập trình WordPress: Vòng lặp (Loop)

Phong

By Phong

Đăng ngày Tháng 7 5, 2025

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ông
  • the_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àmTá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àm the_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

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

[global_subscribe_form]

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.