Tại sao phải tạo shortcode hiển thị danh sách post gần đây ?
Trong quá trình phát triển WordPress Themes, WordPress Plugins có thể bạn cần định nghĩa nhiều shortcode để tăng tính tiện dụng trong việc truy vấn dữ liệu hiển thị, định dạng template tốt hơn. Trong chia sẻ này là để lấy ra danh sách bài tin bài chia sẻ gần đây nhằm sử dụng nó ở nhiều nơi của dự án. Vậy hàm khai báo dưới đây sẽ giúp bạn khởi tạo 1 shortcode làm được điều đó.
Mã khai báo khởi tạo shortcode hiển thị danh sách posts gần đây ?
if (!function_exists('polygon_get_posts_by_shortcode')){ function polygon_get_posts_by_shortcode($atts ){ ob_start(); extract( shortcode_atts( array( 'num_posts' => '5', ), $atts ) ); $the_query = new WP_Query( array( 'posts_per_page' => $num_posts, 'order' => 'ASC', 'orderby' => 'title', ) ); if ( $the_query->have_posts() ) { $output.='<ul class="clothes-listing">'; while ( $the_query->have_posts() ) : $the_query->the_post(); $output.='<li id="post-'.get_the_ID().'" '. get_post_class().'">'; $output.='<a href="'.get_the_permalink().'">'.get_the_title().'</a>'; $output.='</li>'; endwhile; wp_reset_postdata(); $output.='</ul>'; return $output; } } add_shortcode( 'polygon_simple_recent_posts', 'polygon_get_posts_by_shortcode' ); }
Sau khi khởi hàm khai báo trên, từ bây giờ bạn có thể dễ dàng gọi shortcode này ở bất cứ nơi nào (phần soạn thảo posts, pages, text-widget…. hay những vùng cho phép thực thi do_shortcode) để hiển thị danh sách tin bài chia sẻ mới nhất như sau:
[polygon_simple_recent_posts num_posts="8"]
Nghĩa là phần thể hiện sẽ hiển thị 8 posts mới nhất tại vị bạn muốn nó hiển thị.
Lời kết về cách tạo shortcode hiển thị số post mới nhất
Việc tạo shortcode trong dự án sẽ hỗ trợ bạn thao tác mềm dẻo hơn quá trình tuỳ chỉnh hiển thị dữ liệu ngoài giao diện. Như ví dụ trên chỉ là 1 ví dụ đơn giản để bạn có thể tự tạo shortcode trong WordPress, để việc tuỳ chỉnh các thông số truy vấn dữ liệu tốt hơn bạn có thể bổ sung thêm các điều kiện vào hàm như: sắp xếp theo user, comment nhiều, xem nhiều…
- Cafe số 8 -