Trong bài viết trước, chúng tôi đã thảo luận về những điều cơ bản của việc ánh xạ shortcode và cách bạn có thể tận hưởng những lợi ích tuyệt vời của nó. Chúng tôi đã quyết định tách bài viết giới thiệu phiên bản Shortcode Mapping của Page Builder Sandwich, vì nội dung sau đây có thể hơi kỹ thuật hơn một chút.
Dưới đây là các mô tả chuyên sâu hơn về cơ chế hoạt động bên trong của tính năng ánh xạ shortcode của chúng tôi và cách chúng tôi vận hành nó.
Một quy trình tự động
Để quyết định những plugin nào sẽ được đưa vào trình ánh xạ shortcode, chúng tôi đã xây dựng một tập lệnh tự động thu thập các plugin hàng đầu trong thư mục plugin của WordPress dựa trên các tiêu chí sau:
- Nằm trong số 1.000 plugin phổ biến, được xếp hạng hàng đầu và được cập nhật, có ít nhất 4.000 lượt cài đặt đang hoạt động,
- Có ít nhất 4.000 lượt cài đặt đang hoạt động,
- Có ít nhất 20 lượt đánh giá, và;
- Có điểm đánh giá trung bình từ 3 sao trở lên
Chúng tôi chạy truy vấn này hàng ngày trên thư mục plugin của WordPress. Các bộ lọc này đảm bảo rằng chúng tôi có được danh sách các plugin chất lượng tốt mà nhiều người sử dụng. Tại thời điểm viết bài này, các tiêu chí này đã cho ra kết quả 800 plugin. Đó là một con số rất lớn. Thực sự rất nhiều.

Sau đó, chúng tôi chạy một loạt các kiểm tra tự động trên mã nguồn của từng plugin để tìm xem nó có chứa bất kỳ shortcode nào không, rồi chúng tôi cố gắng tìm tất cả các shortcode đó, bao gồm tất cả các thuộc tính của chúng. Khi xử lý dữ liệu, kết quả mang lại hơn 2.000 shortcode. Thật sự kinh ngạc. Các shortcode được phát hiện sau đó sẽ được nhập vào cơ sở dữ liệu ánh xạ shortcode để kiểm tra thủ công.
Vào cuối quy trình này, chúng tôi sẽ có được một danh sách khổng lồ các plugin và các shortcode có thể có của chúng. Bây giờ vấn đề là làm sạch dữ liệu này để đảm bảo mọi thứ đều chính xác.
Một quy trình thủ công
Đây có lẽ là phần khó khăn nhất của toàn bộ hệ thống ánh xạ. Mã plugin có nhiều hình thức và cấu trúc khác nhau, không phải tất cả các shortcode đều được tập lệnh của chúng tôi tự động phát hiện. Mặc dù WordPress Codex hướng dẫn sử dụng hàm `shortcode_atts` để lọc các thuộc tính của shortcode, nhưng đây chỉ là một khuyến nghị và không phải ai cũng làm như vậy. Ngoài ra cũng không có cách nào chắc chắn để kiểm tra cấu trúc bên trong của một shortcode khi plugin được cài đặt.
Vì vậy, để đảm bảo rằng chúng tôi lấy đúng tất cả các shortcode và thuộc tính của chúng, chúng tôi đã tạo một khu vực giao diện người dùng dành riêng cho việc chỉnh sửa shortcode và thuộc tính, được xây dựng bằng AngularJS và Bootstrap.

Chúng tôi sẽ phải kiểm tra thủ công từng plugin và xem xét tài liệu hướng dẫn shortcode của chúng để đảm bảo rằng tất cả dữ liệu chúng tôi có đều chính xác.
Mặc dù công việc này tốn nhiều công sức và tẻ nhạt, nhưng việc có một quy trình tự động cũng có một số điểm sáng:
- Theo số liệu thống kê ban đầu của chúng tôi, chỉ có khoảng 1 trong mỗi 2 plugin có chứa shortcode.
- Một nửa số shortcode được phát hiện không có thuộc tính nào (nhưng một phần trong số này có thể là kết quả dương tính giả)
- Bằng cách chỉ chọn các plugin có chất lượng tốt, nhiều khả năng chúng đều có tài liệu hướng dẫn về shortcode
Chỉ khi tất cả các shortcode của một plugin đã được kiểm tra, máy chủ mới bắt đầu phân phối các ánh xạ shortcode của plugin đó cho người dùng.
Một lệnh gọi Rest API
Mảnh ghép cuối cùng chính là bản thân plugin. Khái niệm ở đây rất đơn giản: tìm hiểu xem những plugin nào đang hoạt động, trang web đang sử dụng theme nào và có những shortcode nào khả dụng, sau đó truy vấn cơ sở dữ liệu ánh xạ shortcode xem nó có các ánh xạ hay không. Để làm điều này, chúng tôi đã tạo một điểm cuối WP REST API tùy chỉnh mà tất cả máy khách gửi yêu cầu đến để lấy các ánh xạ shortcode mới nhất của họ.
Tương lai: Đóng góp từ cộng đồng
Việc kiểm tra thủ công từng plugin đòi hỏi rất nhiều thời gian và công sức. Khi nền tảng ánh xạ shortcode đã ổn định, chúng tôi dự định sẽ mở tính năng ánh xạ shortcode cho mọi người. Điều này có nghĩa là bất kỳ ai cũng có thể hỗ trợ thêm shortcode.
Bạn có thể đang nghĩ, “tại sao tôi lại phải giúp ánh xạ các shortcode? Tôi nhận được gì từ việc đó?” Chà, có một vài lý do giải thích tại sao mọi người lại muốn giúp đỡ:
- Nếu bạn đã tạo một plugin và chúng tôi chưa thu thập được nó do các tiêu chí nêu trên (và nó nằm trong thư mục plugin của WordPress), thì bạn có thể tự mình thêm các ánh xạ. Plugin của bạn sẽ được PBS hỗ trợ đầy đủ!
- Vì chúng tôi chỉ xử lý những plugin trong thư mục plugin của WordPress trong quy trình tự động, nên các tác giả plugin & theme trả phí sẽ không được đưa vào. Vì vậy, nếu bạn sở hữu một plugin hoặc theme như vậy, bạn cũng có thể thêm các ánh xạ shortcode cho chúng.
- Và đối với những người không tạo plugin, chúng tôi có thể trao thưởng cho những người giúp đỡ. Để biến việc ánh xạ shortcode thành một nỗ lực hấp dẫn, chúng tôi có thể tặng những người nhiệt tình hỗ trợ một giấy phép cá nhân hoặc nâng cấp lên giấy phép cao cấp của PBS!
Đăng ký nhận bản tin của chúng tôi
Tính năng ánh xạ shortcode dự kiến sẽ ra mắt khách hàng của chúng tôi vào ngày 12 tháng 8 ngày 15 tháng 8 ngày 16 tháng 8 năm 2016. Không phải tất cả các shortcode sẽ được ánh xạ vào thời điểm này (ước tính của chúng tôi có thể là 100 plugin), nhưng việc ánh xạ sẽ được thực hiện liên tục và khách hàng sẽ nhận được chúng ngay khi các bản mới được phát hành.
Hãy đăng ký nhận bản tin của chúng tôi để cập nhật tin tức về ánh xạ shortcode, thời điểm chúng tôi phát hành tính năng này và khi nào chúng tôi mở tính năng ánh xạ shortcode cho cộng đồng!