Init View Count – Plugin đếm lượt xem nhẹ, chính xác, mở rộng cao cho WordPress

Phiên bản: 1.19.3 English version

Init View Count – Plugin đếm lượt xem nhẹ, chính xác, mở rộng cao cho WordPress
Init View Count là một plugin WordPress giúp bạn theo dõi lượt xem bài viết theo cách hiện đại, thông minh và có khả năng mở rộng cực cao. Sử dụng REST API kết hợp Vanilla JS, plugin này đảm bảo việc đếm view là thực tế, không bị spam bởi bot, không đếm trùng, không làm chậm website và không xung đột với bất kỳ hệ thống nào khác. Thiết kế hướng tới trải nghiệm người dùng, code sạch, nhẹ, không bloat – đây là lựa chọn lý tưởng cho các trang tin tức, blog, portfolio, hay bất kỳ website nội dung nào cần thống kê lượt xem một cách chuyên nghiệp.

Tính năng chính

  • Đếm lượt xem bằng REST API + Vanilla JS, loại bỏ bot/crawler
  • Hạn chế đếm trùng bằng sessionStorage hoặc localStorage
  • Hỗ trợ đếm theo: tổng, ngày, tuần, tháng
  • Tính năng Auto-insert: tự động chèn shortcode vào nội dung (trước/sau), tuỳ chỉnh theo post type
  • Thuộc tính mới icon="true"schema="true" để hiển thị icon và hỗ trợ SEO (Schema.org)
  • Thuộc tính class="...": thêm class CSS để tự thiết kế giao diện
  • Hệ thống Trending: đánh giá bài viết đang nổi theo tốc độ tăng view từng giờ (tự động tính qua WP-Cron)
  • Lưu vào meta riêng biệt: _init_view_count (không ghi đè dữ liệu plugin khác)
  • Giao diện shortcode đẹp, có thể override template từ theme (giống WooCommerce)
  • Có ảnh mặc định nếu bài viết không có thumbnail
  • Dashboard widget: xem top bài viết ngay trong wp-admin
  • Giao diện tạo shortcode trực quan (Shortcode Builder) trong phần cài đặt plugin
  • Hỗ trợ chế độ batch tracking: gộp nhiều lượt xem lại rồi mới gửi lên server, giảm tải request cho site nhiều traffic
  • Tuỳ chọn Strict IP check – chặn view lặp từ cùng một IP bằng cách mã hoá và lưu cache tạm thời
  • Không tracking, không tạo bảng, không bloat. Chỉ dùng postmeta và transient

Hiển thị lượt xem linh hoạt với shortcode

Plugin cung cấp 3 shortcode chính:

  • [init_view_count]: hiển thị số lượt xem trong bài viết hiện tại (có data-view)
  • [init_view_list]: hiển thị danh sách bài viết có lượt xem cao nhất
  • [init_view_list range="trending"]: hiển thị các bài viết đang nổi bật dựa trên view tăng theo thời gian
  • [init_view_ranking]: hiển thị bảng xếp hạng bài viết dưới dạng tab (Tất cả / Hôm nay / Tuần này / Tháng này), tự động load bằng REST API

Bạn có thể tùy chỉnh số lượng, kiểu hiển thị, lọc theo category, tag, post type… Templates có thể ghi đè từ theme với cấu trúc tương tự như WooCommerce. Xem hướng dẫn sử dụng shortcode trong Init View Count.

REST API sẵn sàng dùng

Plugin cung cấp 2 endpoint REST API để tích hợp frontend/headless dễ dàng:

POST /wp-json/initvico/v1/count

Gửi post_id hoặc danh sách [post_id1, post_id2, ...] để tăng lượt xem sau khi người dùng đã cuộn và chờ đủ thời gian (hỗ trợ gộp nhiều bài viết nếu bật chế độ batch).

GET /wp-json/initvico/v1/top

Lấy danh sách bài viết được xem nhiều nhất. Xem hướng dẫn sử dụng REST API /top trong Init View Count.

Tham số hỗ trợ:

  • range: giá trị total, day, week, hoặc month (chọn khoảng thời gian thống kê)
  • range=trending: trả về danh sách bài viết đang có tốc độ tăng view cao nhất
  • post_type: kiểu bài viết, mặc định là post
  • number: số lượng bài viết cần lấy (mặc định: 5)
  • page: trang kết quả, dùng với number để phân trang
  • fields: minimal (gọn nhẹ) hoặc full (đầy đủ thông tin)
  • tax: tên taxonomy (ví dụ category, tag, genre)
  • terms: slug hoặc ID của các term (phân tách bằng dấu phẩy)
  • no_cache=1: tắt cache để luôn nhận dữ liệu mới nhất

Tùy biến template dễ dàng

Bạn có thể ghi đè template hiển thị bằng cách tạo file trong theme theo đường dẫn:

your-theme/init-view-count/[template-name].php

Ví dụ override layout dạng lưới (grid):

your-theme/init-view-count/view-list-grid.php

Cài đặt nhanh

  1. Tải plugin và giải nén vào thư mục /wp-content/plugins/init-view-count/
  2. Kích hoạt plugin từ menu Plugins trong admin
  3. Cấu hình tại Settings → Init View Count
  4. Thêm shortcode vào bài viết, widget hoặc builder bất kỳ
  5. Có thể cấu hình chế độ Batch view tracking (1 = gửi ngay, >1 = gộp nhiều lượt rồi mới gửi).

Bảng xếp hạng bài viết theo thời gian

Bản 1.3 bổ sung shortcode [init_view_ranking] với giao diện tab đẹp mắt, hiển thị các bài viết được xem nhiều nhất theo từng mốc thời gian (ngày, tuần, tháng, tổng).
Dữ liệu được lấy qua REST API, giao diện được giữ nguyên trong khi chờ nhờ hệ thống skeleton loading.

Ví dụ:

[init_view_ranking tabs="week,month" number="5"]

Bạn có thể thêm shortcode này vào trang /ranking, sidebar hoặc bất kỳ vị trí nào trong site.

Tương thích và hiệu suất

  • Tương thích WordPress 5.5 trở lên
  • Hỗ trợ PHP từ 7.4+
  • Chạy tốt trên mọi theme phổ biến (Astra, Blocksy, Hello…)
  • Viết hoàn toàn bằng JavaScript thuần (Vanilla JS), không dùng jQuery

Dành cho Developer

Plugin hỗ trợ nhiều filter/action để tùy biến toàn diện:

  • init_plugin_suite_view_count_should_count: kiểm soát điều kiện đếm view
  • init_plugin_suite_view_count_meta_key: thay đổi tên meta key theo post hoặc mục đích riêng
  • init_plugin_suite_view_count_api_top_args: chỉnh query dùng trong API /top
  • init_plugin_suite_view_count_api_top_item: chỉnh output từng item trong response REST API
  • init_plugin_suite_view_count_api_top_cache_time: thay đổi thời gian cache REST top view
  • init_plugin_suite_view_count_query_args: can thiệp WP_Query khi dùng shortcode [init_view_list]
  • init_plugin_suite_view_count_empty_output: thay đổi HTML hiển thị khi không có kết quả
  • init_plugin_suite_view_count_default_shortcode: thay đổi shortcode tự động chèn vào bài viết
  • init_plugin_suite_view_count_auto_insert_enabled: bật/tắt auto-insert theo post type hoặc context cụ thể

Xem chi tiết: Hướng dẫn mở rộng Init View Count bằng Filters & Hooks.

Bắt đầu ngay

Bạn đang cần một plugin đếm lượt xem thật sự “có tâm”? Init View Count là lựa chọn tuyệt vời — nhẹ, chính xác, dễ dùng, dễ mở rộng và không đụng chạm gì đến plugin khác!

Đánh giá

5.0/5 (14)

Changelog

  • 1.19 – Hotfix: Bật mặc định Day/Week/Month Counter
    • Bật mặc định 3 counter:
      • init_plugin_suite_view_count_enable_day → mặc định = 1
      • init_plugin_suite_view_count_enable_week → mặc định = 1
      • init_plugin_suite_view_count_enable_month → mặc định = 1
    • Sửa lỗi: Trước đây nếu người dùng chưa bấm Save settings, 3 counter này sẽ không đếm.
    • Tương thích ngược:
      • Nếu site đã lưu cấu hình, plugin vẫn tôn trọng giá trị đã lưu.
      • Không cần migration – bản vá áp dụng ngay cho tất cả site.
  • 1.18 – Lưu trữ lịch sử & tuỳ chọn tắt Trending
    • Lưu trữ lịch sử (History Keys):
      • Khi reset view count, giá trị cũ được ghi vào key tương ứng:
        _init_view_yesterday, _init_view_last_week, _init_view_last_month.
      • Hữu ích cho nhu cầu xem lại dữ liệu hôm trước, tuần trước hoặc tháng trước.
      • Hoàn toàn an toàn, không ảnh hưởng đến logic reset hiện tại.
    • Tùy chọn tắt Trending Engine:
      • Thêm filter init_view_count_trending_enabled – cho phép tắt toàn bộ cơ chế trending nếu site không cần.
      • Khi tắt, cron và tính toán trending sẽ không chạy, plugin vẫn hoạt động bình thường.
      • Giữ nguyên tương thích ngược: mặc định trending vẫn bật như cũ.
    • Shortcode Ranking:
      • Mở rộng [init_view_ranking] để hỗ trợ thêm các tab mới:
        yesterday, last_week, last_month.
      • Mặc định hiển thị không thay đổi (total,day,week,month).
      • JS & REST API mở rộng để hỗ trợ tab mới sẽ được cập nhật dần.
    • REST API Top:
      • Mở rộng endpoint /top để hỗ trợ thêm range=yesterday|last_week|last_month.
      • Kết quả trả về đồng bộ với logic reset và lưu trữ key mới.
    • Tương thích ngược: Toàn bộ tính năng cũ (day/week/month/total/trending) giữ nguyên, đảm bảo không phá vỡ site đang dùng.
  • 1.17 – Traffic Shape Learner + cải tiến Trending Engine
    • Giới thiệu hệ thống Traffic Shape Learner – mô hình AI học phân phối traffic theo giờ & ngày:
      • Thu thập dữ liệu view theo giờ trong ngàyngày trong tuần, tự động rollup site-wide.
      • Mẫu giờ được cập nhật bằng EMA + Bayesian prior smoothing (kappa control).
      • Mẫu ngày được cập nhật bằng EMA với daily totals ổn định.
      • Cả hai phân phối được chuẩn hóa mean = 1 để dùng làm hệ số nhân nhất quán.
    • Hiệu năng & caching:
      • Dữ liệu shape cache bằng transient trong 2h (TTL filterable).
      • Rollup action có object-cache lock chống race condition.
      • Tối ưu overhead: chỉ 1 write/view increment + 1 rollup/ngày.
    • Filters & extensibility:
      • init_plugin_suite_view_count_site_traffic_shape – lấy shape arrays theo giờ/ngày.
      • Cho phép tinh chỉnh alpha/kappa qua filter.
      • init_plugin_suite_view_count_shape_collect_enabled – bật/tắt collection.
    • Reset & admin:
      • Thêm admin-post action init_plugin_suite_view_count_shape_reset để xoá dữ liệu học.
      • An toàn chạy bất kỳ lúc nào – plugin sẽ tự rebuild patterns.
    • Trending Engine cải tiến:
      • Fallback đa tầng (day → week → month → total) để tránh thiếu dữ liệu đầu ngày.
      • Ước lượng fallback từ week/month averages đảm bảo điểm trending không bị rỗng.
      • Tối ưu CRON query: bỏ qua lookup tuần/tháng/tổng nếu daily đã đủ.
      • Debug payload có thêm views_day_used và cờ fallback.
    • Tương thích ngược: toàn bộ filter view count & trending cũ vẫn giữ nguyên. Trending Engine v3 (1.16) tự động dùng shape mới để tính uplift.
  • 1.16 – Trending Engine v3 + nâng cấp AI-powered
    • Nâng cấp Trending Engine v3 – bổ sung AI-powered uplift và cơ chế đa tầng:
      • Thêm uplift scoring dựa trên mô hình traffic kỳ vọng (theo giờ/ngày) để điều chỉnh điểm.
      • Bổ sung EWMA momentum + acceleration giúp phát hiện xu hướng mượt và ổn định hơn.
      • Triển khai anti-gaming check giới hạn tăng trưởng điểm mỗi lần cron chạy.
      • Thêm cơ chế exposure fatigue – giảm điểm cho các bài bị top list quá lâu.
    • Tích hợp thuật toán MMR re-ranking giúp đa dạng hóa kết quả theo category/tag.
    • Bổ sung logic explore/exploit – thỉnh thoảng boost cho bài viết mới tiềm năng.
    • Mở rộng debug payload trong REST API:
      • Có thêm các trường: uplift_raw, expected_views, ewma_val, acc, fatigue_streak.
  • 1.15 – Trending Engine v2 + tối ưu hiệu năng
    • Nâng cấp Trending Engine v2 – tối ưu hiệu năng và độ ổn định:
      • Thêm cache lock (object cache) tránh race condition khi cron chạy chồng.
      • Áp dụng công thức soft-cap exponential để giới hạn mượt mà, tránh hard cap.
      • Tối ưu bộ lọc đa dạng O(n) với cơ chế tự điền (fill-back) đảm bảo luôn đủ kết quả.
      • Cải thiện truy vấn SQL hot topics cho ONLY_FULL_GROUP_BY và an toàn timezone với post_date_gmt.
      • Giảm N+1 query bằng cách cache author_id, categoriestags cho mỗi bài viết.
    • Bổ sung filter mới cho Trending:
      • init_plugin_suite_view_count_trending_post_types – giới hạn/ghi đè post type (vd: chỉ manga).
      • init_plugin_suite_view_count_trending_component_weights – điều chỉnh trọng số Velocity, Engagement, Freshness, Momentum.
    • Chuẩn hóa & fallback: lọc post type từ settings, tự loại attachment, fallback an toàn khi danh sách rỗng.
    • Làm mượt chỉ số engagement – ổn định hơn khi lượng view hằng ngày thấp.
  • 1.14 – Thuật toán trending hybrid + lọc đa dạng
    • Giới thiệu thuật toán Trending Hybrid – tính điểm nổi bật cho bài viết dựa trên nhiều yếu tố động.
    • Điểm trending được tính mỗi giờ, kết hợp 5 thành phần chính:
      • Velocity: tốc độ tăng lượt xem theo giờ, có scaling logarit tránh bias.
      • Time Decay: giảm điểm theo thời gian, với chu kỳ bán rã 36 giờ.
      • Engagement: chất lượng tương tác (bình luận, like, share) trên mỗi lượt xem.
      • Freshness: boost nhẹ cho nội dung mới dưới 24 giờ.
      • Momentum: tăng điểm cho bài viết nằm trong các chủ đề đang hot (dựa trên category/tag).
    • Kết quả trending được cache bằng transient và tự động làm mới mỗi giờ qua WP-Cron.
    • Thêm hệ thống lọc đa dạng (diversity filter) đảm bảo kết quả không bị chiếm bởi 1 author hoặc 1 category:
      • Tối đa 2 bài viết cho mỗi author và 3 bài viết cho mỗi category (nếu đủ dữ liệu).
      • Nếu số lượng author/category không đủ để lấp đầy danh sách, tự động bỏ giới hạn.
    • Tương thích với tất cả post type công khai, taxonomy và logic đếm view hiện tại.
  • 1.13 – Tùy chỉnh post_type trong API top view
    • Thêm filter init_plugin_suite_view_count_top_post_types để can thiệp danh sách post_type được truy vấn trong API /top.
    • Giữ nguyên tương thích ngược: nếu không có filter, mặc định vẫn là ['post', 'page'].
    • Hữu ích khi muốn giới hạn kết quả cho các loại nội dung cụ thể như manga, article, v.v.
  • 1.12 – Hỗ trợ hiển thị view của bài viết bất kỳ
    • Shortcode [init_view_count] hỗ trợ thêm thuộc tính id="..." để hiển thị lượt xem của bài viết bất kỳ, không bắt buộc phải là bài hiện tại.
    • Giữ nguyên tương thích ngược: nếu không truyền id thì vẫn lấy theo bài viết đang được hiển thị.
    • Hữu ích khi muốn hiển thị lượt xem của bài viết liên quan, bài viết nổi bật hoặc trong layout tuỳ chỉnh.
  • 1.11 – Ranking theo post type + dọn dẹp thời gian hiển thị
    • Shortcode [init_view_ranking] hỗ trợ thuộc tính post_type="..." để lọc bài viết theo loại cụ thể (ví dụ: post, page, manga…).
    • File JS ranking.js được cập nhật để truyền đúng post_type vào REST API và cache kết quả theo từng tab.
    • Xoá hoàn toàn hàm init_plugin_suite_view_count_human_time_diff() – thay thế bằng hàm human_time_diff() của WordPress.
    • Shortcode [init_view_count] dùng human_time_diff() để hiển thị thời gian đăng bài (khi bật time="true").
    • Toàn bộ các template hiển thị cũng chuyển sang dùng human_time_diff() chuẩn WordPress.
  • 1.10 – Auto insert view + Schema.org + Custom class
    • Thêm tuỳ chọn “Auto-insert shortcode” – tự động chèn [init_view_count] vào trước hoặc sau nội dung bài viết.
    • Tính năng chỉ áp dụng cho post type có bật tracking – có thể tắt/bật hoặc filter tuỳ từng ngữ cảnh.
    • Thêm thuộc tính mới icon="true" để hiển thị SVG icon nhỏ trước số view trong shortcode [init_view_count].
    • Thêm thuộc tính schema="true" để xuất dữ liệu Schema.org InteractionCounter hỗ trợ SEO.
    • Thêm thuộc tính class="..." giúp tuỳ chỉnh giao diện linh hoạt bằng cách thêm class ngoài cho shortcode wrapper.
    • Bổ sung filter mới:
      • init_plugin_suite_view_count_default_shortcode – thay đổi nội dung auto insert mặc định.
      • init_plugin_suite_view_count_auto_insert_enabled – bật/tắt auto insert theo post type hoặc vị trí.
    • Giữ nguyên tương thích ngược – tất cả tính năng mới đều tùy chọn và mặc định tắt.
  • 1.9 – Tương thích PHP 7.4
    • Thay toàn bộ cú pháp match (PHP 8) bằng array mapswitch để tương thích với PHP 7.4.
    • Không thay đổi logic xử lý – mọi hook như init_plugin_suite_view_count_meta_key vẫn hoạt động như cũ.
    • Áp dụng cho toàn bộ REST API, shortcode [init_view_count], [init_view_list] và các xử lý nội bộ.
    • Không thêm tính năng mới – chỉ sửa để không gây lỗi syntax error trên các host cũ.
  • 1.8 – Chặn spam view bằng IP ảo (Strict IP Check)
    • Thêm tuỳ chọn Strict IP check – giúp chặn các lượt view giả từ cùng một IP trong thời gian ngắn.
    • Hệ thống dùng IP mã hoá (hash) và bộ nhớ đệm transient dạng FIFO (mặc định: 75 IP gần nhất mỗi bài viết).
    • Ngăn chặn bot hoặc script gửi view trực tiếp qua REST API (ví dụ: dùng cURL, cron giả…).
    • Bảo mật cao: không lưu IP gốc, tự động xoá sau thời gian nhất định.
    • Tuỳ chọn mới: “Enable strict IP check?” – mặc định tắt để đảm bảo tương thích.
  • 1.7 – Widget bảng xếp hạng & Giới hạn API
    • Thêm Dashboard Widget hiển thị bảng xếp hạng bài viết xem nhiều bằng shortcode [init_view_ranking].
    • Tạo file admin-style.css gọn nhẹ, giúp widget hiển thị một dòng rõ ràng, dễ nhìn.
    • REST API /count được cải tiến để tôn trọng giới hạn batch đã cấu hình, tránh quá tải server.
    • Dọn dẹp nhẹ code backend và đảm bảo chuẩn hook cho các phiên bản tiếp theo.
  • 1.6 – Gộp lượt xem (Batch Tracking)
    • Thêm tuỳ chọn Batch view tracking – cho phép gộp nhiều lượt xem trước khi gửi về server.
    • Ngưỡng gộp có thể cấu hình trong phần cài đặt (mặc định là 1 – gửi realtime như trước).
    • Lượt xem được lưu tạm trong localStorage và chỉ gửi khi đạt số lượng chỉ định.
    • Giảm mạnh số request REST cho site nhiều traffic mà vẫn đảm bảo tính chính xác.
    • JS script.js được viết lại với cấu trúc sạch hơn, hỗ trợ scroll + delay + batch logic.
    • REST API /count hỗ trợ nhận mảng post_id thay vì chỉ một ID.
    • Giao diện hiển thị số view cập nhật ngay lập tức sau khi ghi nhận (không cần F5).
  • 1.5 – Shortcode Builder UI
    • Thêm giao diện tạo shortcode trực quan trong trang Cài đặt plugin (Shortcode Builder Panel).
    • Cho phép chọn shortcode [init_view_count], [init_view_list], [init_view_ranking] cùng các thuộc tính đầy đủ.
    • JS mới init-shortcode-builder.js hoạt động độc lập, chỉ load khi cần.
    • Tất cả chuỗi trong UI được dịch qua biến InitViewCountShortcodeBuilder.i18n (đa ngôn ngữ dễ dàng).
    • Kiến trúc JS được chia rõ: core logic riêng, UI riêng.
  • 1.4 – Thuật toán “Trending” và lọc bài viết đang tăng view
    • Giới thiệu hệ thống chấm điểm Trending dựa trên lượt xem theo giờ và độ tuổi bài viết.
    • View được phân tích và cập nhật theo giờ qua WP-Cron, tối ưu cho site lớn và nhiều traffic.
    • REST API /top hỗ trợ thêm tham số range=trending, có phân trang và sắp xếp sẵn.
    • Shortcode [init_view_list range="trending"] hiển thị danh sách bài viết đang nổi bật.
    • Thuật toán tôn trọng các điều kiện lọc bằng meta_key (dễ tuỳ chỉnh qua filter).
    • Dọn dẹp meta cũ theo từng mốc ngày / tuần / tháng với cơ chế filter key thông minh.
  • 1.3 – Shortcode mới hiển thị bảng xếp hạng bài viết theo thời gian
    • Bổ sung shortcode [init_view_ranking] với giao diện tab phân loại bài viết xem nhiều theo today / week / month / all time.
    • Sử dụng REST API + lazy-loading bằng JavaScript, chỉ gọi khi cần → tối ưu cho SPA và headless.
    • Tích hợp skeleton loader giữ layout ổn định trong khi chờ dữ liệu.
    • Class CSS theo chuẩn plugin init-plugin-suite-view-count-*, dễ override hoặc custom theme.
    • JS được enqueue tự động khi có dùng shortcode, không ảnh hưởng các trang khác.
  • 1.2 – Tối ưu CSS và hỗ trợ tuỳ biến meta key nâng cao
    • CSS style.css được enqueue sớm hơn để tránh bị đẩy xuống footer.
    • Thêm tuỳ chọn bật/tắt CSS mặc định trong trang cài đặt plugin.
    • Filter init_plugin_suite_view_count_meta_key được áp dụng đồng nhất cho REST API, shortcode và WP-Cron.
    • Sửa lỗi override meta key không hoạt động đúng trong một số trường hợp.
  • 1.1 – Bổ sung phân trang cho danh sách bài viết xem nhiều
    • Bổ sung tham số page cho REST API /top để hỗ trợ phân trang.
    • Shortcode [init_view_list] hỗ trợ thuộc tính page để hiển thị trang kết quả cụ thể.
  • 1.0 – Phiên bản đầu tiên của Init View Count
    • Đếm lượt xem bài viết bằng REST API + Vanilla JS, tránh bot và hạn chế đếm trùng qua session/localStorage.
    • Lưu số lượt xem bằng meta riêng biệt _init_view_count, không xung đột với theme/plugin khác.
    • Hỗ trợ đếm theo ngày, tuần, thángtổng lượt xem. Tự động reset bằng WP-Cron.
    • Shortcode [init_view_count] hiển thị lượt xem bài viết, hỗ trợ format raw/formatted/short và thời gian đăng bài.
    • Shortcode [init_view_list] hiển thị danh sách bài viết xem nhiều nhất, tùy chỉnh số lượng, post type, range, category, tag, template, class…
    • Hỗ trợ override template hiển thị từ theme với cấu trúc your-theme/init-view-count/*.php giống WooCommerce.
    • REST API GET /wp-json/initvico/v1/top hỗ trợ lọc theo taxonomy bất kỳ (category, tag, genre…), cache, và chế độ fields=minimal|full.
    • REST API POST /wp-json/initvico/v1/count ghi nhận lượt xem chính xác cho từng bài viết.
    • Hệ thống filter và action hook mạnh mẽ cho developer: điều kiện đếm view, sửa meta key, tuỳ chỉnh query, output API, thời gian cache…
    • Không thêm bảng, không tracking, không bloat – chỉ dùng postmeta, gọn nhẹ và dễ mở rộng.
Made with in HCMC.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...