Back to Main Site

Danh sách Template Tags và Hàm bổ trợ Helper trong PolyCMS

Last updated on Jul 10, 2026 1:52 AM

Tổng quan

PolyCMS cung cấp một hệ thống phong phú các hàm bổ trợ (helper functions/template tags) sử dụng trong các tệp giao diện theme và mã nguồn plugin. Các hàm này giúp đơn giản hóa các thao tác lập trình thường gặp như tạo liên kết URL, truy xuất bài viết và kết xuất menu điều hướng.

Các hàm xử lý URL

polycms_blog_url()

Trả về đường dẫn URL gốc của trang blog ngoài trang chủ.

$url = polycms_blog_url();
// Kết quả trả về: https://yourdomain.com/blog

polycms_post_url($post)

Tự động sinh ra đường dẫn URL đầy đủ của một bài viết cụ thể.

$url = polycms_post_url($post);
// Kết quả trả về: https://yourdomain.com/blog/my-first-post

polycms_category_url($category)

Tự động sinh ra đường dẫn URL danh mục chuyên mục.

$url = polycms_category_url($category);
// Kết quả trả về: https://yourdomain.com/blog/category/lap-trinh-web

polycms_tag_url($tag)

Tự động sinh ra đường dẫn URL danh mục thẻ tag.

$url = polycms_tag_url($tag);
// Kết quả trả về: https://yourdomain.com/blog/tag/php

Truy xuất dữ liệu nội dung

polycms_get_post($id)

Lấy dữ liệu chi tiết của một bài viết theo ID chỉ định.

$post = polycms_get_post(42);
echo $post->title;
echo $post->content_html;

polycms_get_posts($args)

Truy xuất danh sách bài viết đi kèm các tham số lọc dữ liệu phong phú.

$posts = polycms_get_posts([
    'status'      => 'published',
    'category_id' => 5,
    'limit'       => 10,
    'order_by'    => 'created_at',
    'order'       => 'DESC',
]);

polycms_get_post_meta($post_id, $key, $default = '')

Lấy dữ liệu siêu dữ liệu tùy biến (meta value) của bài viết.

$reading_time = polycms_get_post_meta($post->id, 'reading_time', '5 min');

polycms_get_categories($args)

Lấy danh sách các chuyên mục phân loại.

$categories = polycms_get_categories([
    'parent_id' => null,  // Chỉ lấy chuyên mục cấp cao nhất
    'order_by'  => 'name',
]);

polycms_get_tags()

Lấy toàn bộ danh sách thẻ tag hiện có trên hệ thống.

$tags = polycms_get_tags();

Các hàm kết xuất giao diện (Rendering)

polycms_render_menu($location)

Kết xuất mã HTML của danh mục menu được gán cho vị trí chỉ định.

polycms_render_menu('primary');
// Xuất ra mã HTML: <nav><ul><li><a href="...">Trang chủ</a></li>...</ul></nav>

polycms_render_widget_area($area_id)

Kết xuất toàn bộ các widget được cấu hình trong khu vực Widget Area chỉ định.

polycms_render_widget_area('blog-sidebar');

polycms_render_shortcodes($content)

Biên dịch và thay thế toàn bộ mã shortcode có trong chuỗi nội dung truyền vào.

$rendered = polycms_render_shortcodes($post->content_html);

Các hàm phục vụ SEO

polycms_get_meta_title($content)

Trả về tiêu đề meta cuối cùng đã được định dạng của bài viết hoặc trang tĩnh.

$title = polycms_get_meta_title($post);

polycms_get_meta_description($content)

Trả về mô tả meta của bài viết hoặc trang tĩnh.

$desc = polycms_get_meta_description($post);

Các hàm quản lý Theme

polycms_get_theme_option($key, $default = '')

Lấy giá trị cấu hình Theme Option do quản trị viên thiết lập cho theme đang hoạt động.

$logo_url = polycms_get_theme_option('logo_url', '/assets/default-logo.png');
$primary_color = polycms_get_theme_option('primary_color', '#333333');

polycms_get_active_theme()

Trả về thông tin chi tiết của giao diện theme đang hoạt động.

$theme = polycms_get_active_theme();
echo $theme->name;
echo $theme->version;

Hệ thống Hook API

polycms_add_action($hook, $callback, $priority = 10, $args = 1)

Đăng ký hàm xử lý sự kiện Action hook.

polycms_add_filter($hook, $callback, $priority = 10, $args = 1)

Đăng ký hàm xử lý bộ lọc Filter hook.

polycms_do_action($hook, ...$args)

Kích hoạt sự kiện Action hook, gọi chạy toàn bộ các hàm đã đăng ký.

polycms_apply_filters($hook, $value, ...$args)

Áp dụng các hàm bộ lọc lên dữ liệu và trả về kết quả sau biến đổi.

Để xem chi tiết tài liệu về hook, tham khảo bài viết Tài liệu tham khảo toàn tập về Hooks & Filters.

Các hàm tiện ích khác

polycms_validate_file_path($path)

Kiểm duyệt đường dẫn tệp tin để chống tấn công duyệt thư mục ngược (directory traversal). Trả về true nếu đường dẫn an toàn.

polycms_get_setting($key, $default = '')

Lấy thông tin cấu hình CMS từ bảng dữ liệu blog_settings.

$posts_per_page = polycms_get_setting('posts_per_page', 10);

Hỗ trợ kỹ thuật

Bạn cần tư vấn khi sử dụng các hàm bổ trợ của hệ thống để viết theme hay plugin? Hãy liên hệ với chúng tôi tại mục bình luận trên trang tác giả PolyXGO trên CodeCanyon. Chúng tôi sẵn sàng hỗ trợ lập trình viên hoàn toàn miễn phí.

Tài liệu hướng dẫn liên quan