Học WordPress + AI / WordPress cho người VIỆT !
WPShare247

Học wordpress cho người mới bắt đầu

  • Bắt đầu
    • Học WordPress
    • Elementor
    • WooCommerce
    • Tạo WordPress
    • Học WordPress kiểu mới 2025
    • Học PHP cơ bản
    • Tạo Website bằng WordPress
    • Quản trị WordPress
    • Sửa lỗi WordPress
    • Theme wordpress
    • Plugin WordPress
    • Hàm PHP
    • Seo WordPress
    • Bảo mật WordPress
    • Html & Css
    • Javascript và jQuery
    • Hướng dẫn lập trình
  • Video
    • Video TikTok
    • Video Shorts
  • Kho plugin
  • Tải Web Miễn Phí
  • Công cụ
    • Kiểm tra web WordPress
    • WordPress theme gì?
    • Check IP Website
    • Kiểm tra Tên Miền
    • Kiểm Tra SSL
    • Tạo File Disavow Google
    • Tạo QR Code
  • Giới thiệu
    • Khuyến Mãi
  • Đăng nhập
X
☰

Trang chủ » Hàm WordPress » Hướng dẫn cách sử dụng WP_query và vòng lặp Loop trong WordPress dễ hiểu

📌 Mới: Bạn có thể 🧠 đặt câu hỏi cho AI về nội dung bài viết này ở cuối trang!

Hướng dẫn cách sử dụng WP_query và vòng lặp Loop trong WordPress dễ hiểu

Xuất bản vào 12/11/2020 bởi Chinsu Man Xem: 4296
Shares
ChatGPT ChatGPT
Share
Share
Pin

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

Bài viết hướng dẫn có chứa CODE - Copy và sử dụng chúng sẽ tiện hơn cho bạn.

Trong một vài trường hợp chúng ta muốn lấy dữ liệu theo ý mình, mà chúng không phải dạng post mà là một loại CUSTOM POST TYPE, chẳng hạn như Sản Phẩm, Video, Dịch Vụ…..

Thật dễ dàng giải quyết vấn đề trên cho dù bạn không biết chút nào về Query trong MySQL, trong wordpress đã hỗ trợ đối tượng WP_query, chúng ta chỉ cần khai báo trình tự các tham số thông qua biến $args là có thể lấy được dữ liệu theo ý muốn của chúng ta.

🌱 Nếu thấy bài viết hữu ích, bạn có thể ủng hộ tác giả bằng cách nhấn vào quảng cáo bên dưới — như một donate miễn phí. Bạn không mất gì nhưng chúng tôi sẽ có thêm chi phí để duy trì và vận hành website. Cảm ơn bạn! 🙏

WP_query wordpress

1. Lấy dữ liệu bằng WP_query

Câu query lấy danh sách bài viết mới nhất:

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; // trang dữ hiện tại cần lấy dữ liệu
$posts_per_page = 12; // chia mỗi trang có bao nhiêu kết quả

$args_filter = array(
    'post_type' => array('post'), // post type cần query dữ liệu, có thể thay bằng bất kì post type nào bạn muốn
    'post_status' => array('publish'), // Chỉ lấy dữ liệu đã xuất bản
    'posts_per_page' => $posts_per_page,
    'paged' => $paged,
    'orderby' 			=> 'date', // dữ liệu lấy ra được sắp xếp theo cột "date"
    'order'				=> 'desc' // dữ liệu lấy ra được sắp xếp theo ngày mới nhất đến cũ nhất
);

$the_query = new WP_query($args_filter);

Xem chi tiết đầy đủ các tham số $args_filter tại đây https://github.com/luetkemj/wp-query-ref

Nhưng đôi khi các bạn sẽ thấy cách dùng hàm get_posts…..Vậy get_posts dùng như thế nào ?

2. Hiển thị dữ liệu bằng vòng lặp LOOP

<?php 
if($the_query->have_posts()):
?>
<section id="query-results">
    <?php
    while ($the_query->have_posts()) : $the_query->the_post();
        $index = $the_query->current_post; // Bắt đầu bằng 0
        ?>
        <ul <?php post_class('loop-cua-toi'); ?>>
        	<li>ID bài viết: <?php the_ID(); ?></li>
        	<li>Tiêu đề: <?php the_title(); ?></li>
            <li>Hình đại diện <?php the_post_thumbnail( 'thumbnail', 
                                                         array(
                                                         		'class'=> 'them_class_cho_hinh class2 class3',
                                                                'alt'=> get_the_title()
                                                                )
                                                        );?></li>
            <li>Nội dung: <?php the_content(); ?></li> <?php // echo wp_trim_words( get_the_content(), 50, '...' ); //=>lấy mô tả ngắn, 50 là số từ cần hiển thị ?>
            <li>Ngày đăng: <?php echo get_the_date('d/m/Y'); ?></li>
            <li>Tác giả: <a class="url fn n" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>"><?php echo get_the_author();?></a></li>
            <li>Xem thêm: <a href="<?php the_permalink(); ?>">Chi tiết »</a></li>
        </ul>
        <?php
    endwhile;
    wp_reset_postdata();
    ?>
</section>
<?php 
endif;
?>

$the_query->current_post lấy thứ tự kết quả của câu lệnh Query trong WordPress, nó bắt đầu bằng 0.

Bạn cũng có thể truy xuất dữ liệu post meta của 1 bài viết qua hàm get_post_meta nằm trong loop như sau:

$your_key_value_1 = get_post_meta( get_the_ID(), 'your_key_1', true );

 

3. Hiển thị phân trang kết quả

<?php 
if( $the_query->max_num_pages > 1){
    $GLOBALS['wp_query']->max_num_pages = $the_query->max_num_pages;
    ?>
    <div id="wpshare247-pagination">
        <?php
        the_posts_pagination( array(
            'prev_text' => '<span class="screen-reader-text">' . __( 'Previous page', 'wpshare247' ) . '</span>',
            'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'wpshare247' ) . '</span>' ,
            'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'wpshare247' ) . ' </span>',
        ) );
        ?>
    </div>
    <?php
}
?>

4. Query theo Post Meta (Nâng cao)

Nếu bạn có một số dữ liệu được lưu trữ trong table wp_postmeta cần hiển thị, bạn có thể thêm meta_query vào trong mảng như sau:

$args_filter = array(
    'post_type' => array('post'), // post type cần query dữ liệu, có thể thay bằng bất kì post type nào bạn muốn
    'post_status' => array('publish'), // Chỉ lấy dữ liệu đã xuất bản
    'posts_per_page' => $posts_per_page,
    'paged' => $paged,
    'orderby'             => 'date', // dữ liệu lấy ra được sắp xếp theo cột "date"
    'order'                => 'desc', // dữ liệu lấy ra được sắp xếp theo ngày mới nhất đến cũ nhất
    'meta_query' => array(
        array(
            'key'     => 'your_key_1',
            'value'   => 'your_key_value_1',
            'compare' => '=',
        )
    )
);

$the_query = new WP_query($args_filter);

Chú ý đoạn này:

'meta_query' => array(
        array(
            'key'     => 'your_key_1',
            'value'   => 'your_key_value_1',
            'compare' => '=',
        )
    )

Trong đó:

  • your_key_1 là trường được lưu trong bảng wp_postmeta ở cột meta_key
  • your_key_value_1 là trường được lưu trong bảng wp_postmeta ở cột meta_value
  • compare là toán tử so sánh, tùy vào dữ liệu của trường mà bạn có thể dùng 1 trong các phép so sánh này: ‘=’, ‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’

 

Hướng dẫn cách sử dụng WP_query và vòng lặp Loop trong WordPress dễ hiểu

Cấu trúc bảng wp_postmeta trong CSDL WordPress

Trường hợp bạn có thêm 1 meta_key nữa, bạn có thể kết hợp là OR hay AND theo kiểu MySQL bạn có thể làm như sau:

'meta_query' => array(
        'relation' => 'AND', // Mặc định là AND; Giá trị là AND hoặc OR
    )

Và kết cách sử dụng như sau:

'meta_query' => array(
        'relation' => 'AND', // Mặc định là AND; Giá trị là AND hoặc OR
        array(
            'key'     => 'your_key_1',
            'value'   => 'your_key_value_1',
            'compare' => '=',
        ),

        array(
            'key'     => 'your_key_2',
            'value'   => 'your_key_value_2',
            'compare' => '=',
        )
    )

 

Đây là hướng dẫn cơ bản nhất để bạn dễ hiểu, đặc biệt cho các bạn mới làm quen với WordPress. Từ căn bản đó bạn có thể tùy biến nâng cao thêm rất dễ dàng.

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

❓ Hỏi AI về nội dung bài viết

Tóm tắt nội dung chính Gợi ý mục quan trọng Giải thích mục 1 rõ hơn Viết lại đoạn văn cho dễ hiểu Rút gọn văn bản mà vẫn đủ ý Thêm ví dụ minh hoạ cho đoạn 1 Lọc keyword từ khóa bài viết Lọc thuật ngữ Dịch bài viết sang: Tiếng Anh
Nếu bài viết chưa giải đáp hết thắc mắc của bạn, hãy hỏi WPSHARE247 AI – trợ lý thông minh sẵn sàng hỗ trợ ngay trong nội dung bài viết.

Bạn muốn tích hợp chức năng Hỏi AI trực tiếp dưới mỗi bài viết trên website? Hãy liên hệ dịch vụ thiết kế web tại Website366.com để được hỗ trợ triển khai nhanh chóng và chuyên nghiệp.

Shares
ChatGPT ChatGPT
Share
Share
Pin
← Bài cũ hơn → Bài tiếp theo
LoopVòng lặpWP_Query
Bài viết liên quan
  • Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

    Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

  • Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

    Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

  • Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

    Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

  • Hướng dẫn Code chức năng tải file trong Website WordPress

    Hướng dẫn Code chức năng tải file trong Website WordPress

Học thiết kế Web WordPress

Download WordPress

Tải bản WordPress mới nhất

Tiếng Việt: Tải WordPress Mới

Quốc tế: Tải WordPress Mới

Liên kế MXH của WPShare247

Tìm thấy những kiến thức mới từ WPShare247

Giảm 50% Hosting

Xem chi tiết giảm giá 50% gói lưu trự Hosting tại đây => Link giảm 50%

Cách tạo Web bán hàng Bằng Flatsome

https://www.youtube.com/watch?v=gnT8Dn_KiXU

Video Tiktok mới nhất

@hocwordpress SSL bằng Plug-in Wordpress Really Simple SSL giúp bảo mật đúng cách hơn, tránh tình trạng bảo mật ảo HTTPS #wpshare247 #wordpress #plugin #ssl #https ♬ nhạc nền - Học WordPress - WPSHARE247.COM

Cách tạo Website WordPress 2025

https://www.youtube.com/watch?v=HtbtsH8q-KU

Bộ WIDGETS WS247 Đa Năng

Giúp bạn Thiết kế Website WordPress giống mẫu 99% trong thời gian ngắn nhất (Có bản nâng cấp mới V2). Download tại đây

 

Xem chi tiết tại đây  https://wpshare247.com/chia-se-bo-field-widget-giup-ban-thiet-ke-website-wordpress-nhanh-hon

MUA HOSTING – TẶNG BUỔI HỌC WP

Tặng 03 buổi (Mỗi buổi 30 phút) hỗ trợ miễn phí, tất cả các chuyên đề nào về học thiết kế website bằng WordPress khi mua Hosting và Tên miền => tại đây [ Có thể liên hệ bất cứ giờ nào để hỗ trợ học WP ]

Tôi đang cần...
Cách làm blog Plugin Wordpress Bảo mật Wordpress Seo với Wordpress Lỗi Wordpress WooCommerce

MUA HOSTING – TẶNG BUỔI HỌC WP

Chủ đề

  • Code WordPress
  • Hàm WordPress
  • Hướng dẫn WordPress
  • Theme wordpress
  • WooCommerce
  • Seo WordPress
  • Html & Css
  • Javascript và jQuery
  • Plugin WordPress
  • Hướng dẫn lập trình

Tag

add_action (2) add_filter (2) admin code (2) alt (2) Block Theme (2) cart (4) Contact Form 7 (8) css (4) custom post type (2) cài wordpress (2) danh mục sản phẩm (2) elementor (2) elementor free (2) filter (2) flatsome (2) functions.php (2) google font (2) hosting (2) html css (2) hướng dẫn dùng plugin (4) học wordpress (7) javascript (5) jquery (3) localhost (2) Loop (2) mysql (4) ngôn ngữ (2) phpmyadmin (3) plugin (4) plugin wordpress (2) Product (4) SMTP (2) Sản phẩm (3) Template page (2) theme option (2) Theme Wordpress (3) widget (2) woocommerce (25) wordpress (5) WordPress 2025 (2) wp-config (2) wp_enqueue_scripts (2) WP_Query (6) xampp (4) Yoast SEO (2)
Về WPShare247

Học wordpress cho người mới bắt đầu.

WPShare247 là blog chia sẻ các kiến thức về WordPress, sửa chữa lỗi wordpress, giới thiệu theme và plugin wordpress mới nhất. Đào tạo khóa học thiết kế Website bằng WordPress.

Menu
  • Trang chủ
  • Giới thiệu
  • Blog
  • Plugin WordPress
  • Liên hệ
Chủ đề wordpress
  • Sửa lỗi WordPress
  • Plugin WordPress
  • Theme wordpress
  • Seo WordPress
  • WooCommerce

Copyright © 2025 WPSHARE247. All Rights Reserved.
Một sản phẩm của WEB 366

  • Thiết kế web bởi Website366.com
  • Thiết kế website chuyên nghiệp TBAY.VN
  • Thiết kế website bán hàng