NexaBoard - Template Override

Bạn có thể tùy chỉnh giao diện frontend mà không sửa trực tiếp file plugin.

Cách dùng:
1. Trong theme hoặc child theme, tạo thư mục:
   /wp-content/themes/ten-theme/nexaboard/

2. Copy file cần chỉnh từ thư mục templates của plugin sang đúng đường dẫn tương ứng.

Ví dụ:
Plugin:
  /wp-content/plugins/nexaboard-discussion-forum-community/templates/forum/topic.php

Copy sang theme:
  /wp-content/themes/ten-theme/nexaboard/forum/topic.php

Thứ tự ưu tiên:
1. Child theme /nexaboard/
2. Parent theme /nexaboard/
4. Template mặc định trong plugin

Các template hiện có:
- parts/topbar.php            Thanh tìm kiếm / user / tin nhắn
- forum/index.php             Trang diễn đàn ngoài cùng
- forum/index-section.php     Từng khối diễn đàn cấp cha
- forum/forum-row.php         Một dòng diễn đàn
- forum/forum.php             Trang diễn đàn hiện tại
- forum/search.php            Trang kết quả tìm kiếm
- forum/topic-row.php         Một dòng chủ đề
- forum/topic.php             Trang chủ đề
- forum/post-card.php         Một bài viết trong chủ đề
- profile/profile.php          Trang hồ sơ thành viên

Lưu ý:
- Không sửa trực tiếp template trong plugin nếu muốn giữ thay đổi qua các lần update.
- Khi plugin cập nhật cấu trúc template, nên đối chiếu file mới với bản đã copy trong theme.


Cấu trúc NexaBoard 1.0.104:
- Shortcode core: [nexaboard_forum], [nexaboard_profile], [nexaboard_login], [nexaboard_register]
- Class nội bộ: NexaBoard_DB, NexaBoard_Frontend, NexaBoard_Users, NexaBoard_Admin, NexaBoard_Importer, NexaBoard_Install

- profile/post-item.php: Mỗi bài viết trong tab Bài viết của hồ sơ thành viên.
- profile/followed-topic-item.php: Mỗi chủ đề trong tab Chủ đề theo dõi của chủ tài khoản.

- auth/login.php: form đăng nhập NexaBoard.
- auth/register.php: form đăng ký NexaBoard.

- parts/auth-modals.php: modal Đăng nhập / Đăng ký ở thanh frontend, render [nexaboard_login] và [nexaboard_register].


Extension hooks:
- nexaboard_register_extension_shortcodes
- nexaboard_topbar_user_items
- nexaboard_profile_menu_items
- nexaboard_profile_head_actions
- nexaboard_profile_sidebar_tabs
- nexaboard_post_user_actions
- nexaboard_post_content_actions
- nexaboard_mention_created
- nexaboard_reply_created

Optional extensions are separate WordPress plugins and must contain their own implementation code.
