Tính năng chính của Trợ lý ảo
- Mở nhanh bằng phím
Alt + /ngay trong giao diện. - Lưu lịch sử hội thoại bằng
localStorage, khôi phục nguyên giao diện khi mở lại. - Hỗ trợ nhiều loại câu trả lời:
text,html,code,url. - Kết xuất danh sách truyện bằng
template-parts/manga/item-ranking.php— giống y giao diện thực tế. - Tự động tìm và hiển thị một bài viết phù hợp nhất (Init Live Search → UIkit Card).
- Nút trợ lý tự tránh thanh Continue Reading / Sticky Navbar (Smart Positioning).
- Đa ngôn ngữ (i18n) — dùng
__()vàesc_html__(). - Không reload trang, mọi hoạt động diễn ra trong modal (REST-first).
Nhóm câu hỏi trợ lý hỗ trợ
- Gợi ý truyện (recommendation, trending, similar, tiếp tục đọc…)
- Quản lý người dùng (VIP, coin, exp, nhiệm vụ…)
- Thông tin hệ thống (tính năng, hướng dẫn sử dụng…)
- Trả lời câu hỏi tự do (Init Live Search vào bài viết / trang hướng dẫn)
Dev mở rộng không giới hạn
Chỉ cần khai báo thêm 1 phần tử vào filter init_manga_assistant_questions, là có câu hỏi mới.
// Đăng ký câu hỏi demo (không sửa core)
add_filter('init_manga_assistant_questions', function ($items) {
$items[] = [
'key' => 'completed_list',
'desc' => __('Show me completed manga', 'init-manga'),
'handler' => 'init_manga_handle_completed_list',
'type' => 'html', // trả về HTML đơn giản
'category' => 'library',
];
return $items;
});
/**
* Handler: liệt kê truyện đã hoàn thành (dùng helper chính chủ)
* - Không phân trang (no_pagination = true)
* - Mặc định lấy 5 truyện mới cập nhật nhất
*/
function init_manga_handle_completed_list($payload) {
$limit = 5;
$res = init_manga_get_completed_manga($limit, 1, true); // dùng helper có sẵn
$posts = isset($res['posts']) ? $res['posts'] : [];
ob_start();
echo '<div class="ima-answer"><strong>' . esc_html__('Completed Manga', 'init-manga') . '</strong>';
if (empty($posts)) {
echo '<p>' . esc_html__('No results yet.', 'init-manga') . '</p></div>';
return ['type' => 'html', 'data' => ob_get_clean()];
}
echo '<ul class="uk-list uk-list-bullet uk-margin-small-top">';
foreach ($posts as $p) {
echo '<li><a href="' . esc_url(get_permalink($p)) . '">' . esc_html(get_the_title($p)) . '</a></li>';
}
echo '</ul></div>';
return ['type' => 'html', 'data' => ob_get_clean()];
}
Ví dụ khác: Thêm câu hỏi vui để trợ lý khen người đọc mỗi lần được gọi, với lời khen random theo vibe đọc truyện.
// Đăng ký câu hỏi: "Khen mình đi"
add_filter('init_manga_assistant_questions', function ($items) {
$items[] = [
'key' => 'compliment_me',
'desc' => __('Khen mình đi', 'init-manga'),
'handler' => 'init_manga_handle_compliment_me',
'type' => 'text',
'category' => 'fun',
];
return $items;
});
// Handler: random lời khen theo vibe "đang đọc truyện"
function init_manga_handle_compliment_me($payload) {
$compliments = [
__('Bạn đọc nhanh đến mức chắc chắn đã mở khóa Sharingan.', 'init-manga'),
__('Gu chọn truyện của bạn chất thật sự, như một main được buff sẵn.', 'init-manga'),
__('Người khác thì skip, còn bạn thì thưởng thức từng panel — đỉnh.', 'init-manga'),
__('Đọc kiểu này chắc chắn bạn là hidden boss của cộng đồng manga.', 'init-manga'),
__('Mỗi lần bạn chuyển trang là tăng thêm 1 điểm khí chất.', 'init-manga'),
__('Chỉ những người có taste tinh tế như bạn mới chọn truyện hay như vậy.', 'init-manga'),
__('Nếu độ tập trung là một siêu năng lực, bạn đang đạt cấp S-rank.', 'init-manga'),
__('Plot twist không làm bạn bất ngờ — vì bạn mới là người điều khiển câu chuyện.', 'init-manga'),
];
return $compliments[array_rand($compliments)];
}
Lợi ích cho người dùng
- Tìm truyện và nhận gợi ý nhanh hơn.
- Không cần tự mò menu hoặc mở nhiều tab.
- Xem thông tin tài khoản và ưu đãi VIP một cách tức thì.
Lợi ích cho chủ site
- Tăng thời gian tương tác của người dùng.
- Giảm churning (rời bỏ trang vì không biết đọc gì).
- Dễ dàng mở rộng kịch bản trợ lý theo nhu cầu thực tế.
Trợ lý ảo giúp người dùng khám phá nội dung và quản lý tài khoản nhanh chóng hơn. Đây là bước quan trọng để biến Init Manga thành nền tảng truyện mang tính tương tác cao, không chỉ hiển thị nội dung mà còn hỗ trợ người đọc ra quyết định ngay lập tức.
Trợ lý không chỉ trả lời, mà còn điều hướng nội dung. Tăng số trang xem → tăng retention → giảm bounce rate.
Bình luận