Trải nghiệm lần đầu submit theme lên WordPress.org

Best way to learn is build stuff

Someone said

Hi guys,

Theme đầu tiên mình submit lên WordPress.org vừa được chấp nhận live vào ngày 23.03.2018. Cảm giác vừa vui, phấn khích xen lẫn phẫn nộ.

Quá trình submit theme khá vất vả và chờ đợi lâu, đặc biệt là với bạn nào submit lần đầu. Bài viết này mình chia sẽ kinh nghiệm, tips rút ra được hi vọng nó sẽ giúp bạn đẩy nhanh quá trình và đỡ “đau thương” hơn.

Bitcoinee – Free Cryptocurrency Magazine Theme

Đầu tiên phải nghĩ đến đó là lý do bạn muốn submit theme lên WordPress.org (.org) làm gì, mình liệt kê ra vài lý do bên dưới:

  • muốn cảm giác theme mình nằm trên official directory và xài bởi nhiều người khác;
  • Tự kiểm tra: test lại trình code theme xem bám theo chuẩn WordPress đến đâu;
  • muốn có icon theme developer badge ở profile WordPress;
  • thêm kênh lấy traffic free từ .org để upsell cho business;
  • Có hệ thống ngon lành mà free host theme cho bạn và phân phối bản update đến user, có stats chi tiết về theme: số download, active install…
  • bla bla bla…

Riêng mình thì sau khi đóng cửa công ty dịch vụ web, buồn chán và rảnh rỗi nên muốn làm 1 cái theme để kiểm tra lại kiến thức về WordPress, give back 1 chút gì đó cho cộng đồng và hơn hết là … giết thời gian 😀

Sẵn tiện trào lưu Bitcoin/Cryptocurrency đang lên cao nên mình làm 1 theme blog style trong niche này luôn. Và thế là cái tên Bitcoinee ra đời.

Badge “Theme Developer” tự động được thêm vào profile của bạn khi có theme live trên directory. Khá là vui.

Mặc dù mình đã làm hàng trăm website cho client bằng WordPress, lớn có, nhỏ có tuy nhiên khi làm dịch vụ vì thời gian và yêu cầu của khách hàng nên khó mà đảm bảo mọi thứ được kỹ lưỡng theo đúng tiêu chuẩn của WordPress cho nên khi submit theme mắc khá nhiều lỗi mà chỉ khi bạn submit mới phát hiện ra qua quá trình review theme.

Bạn sẽ tự phát hiện ra 1 phần và Reviewer sẽ chỉ ra cho bạn thấy đa số. Có những lỗi mà chỉ biết kêu trời vì “tụi nó” soi quá kỹ :D. Ngay cả theme do chính bộ phận Theme Design của Automattic làm cũng bị “hành” tơi tả bởi các reviewer nên chắc chắn bạn không 1 phát ăn ngay được đâu, cố gắng giảm thiểu lỗi và thời gian fix thôi. Dành cho ai chưa biết Automattic là công ty do Matt – founder của WordPress sáng lập, là công ty đứng sau WordPress.com, Woocommerce, Akismet, Jetpack, SimpleNote, WP Tavern…

Vì vậy submit theme là một nước đi khá hay cho bạn nào muốn test lại khả năng làm việc với WordPress của mình, hoặc các bạn muốn apply vào các công liên liên quan đến WordPress. Đi phỏng vấn chỉ cần ộp CV vào mặt nhà tuyển dụng cho thấy có theme/plugin trên WordPress.org directory là ngon lành. Không cần nói nhiều.

Các tips này sẽ giúp rút ngắn quá trình review:

  • WordPress Standard: đọc thật kỹ Theme Handbook: khi mình nói kỹ nghĩa là rất kỹ
  • Chủ động học hỏi: đọc cách reviewer review theme và comment gì trong các ticket ở trac và rút kinh nghiệm
  • Vấn đề tên Theme: nhanh chóng submit version đầu tiên lên để giữ chỗ và tên theme, sau đó udate theme design & code dần cũng được. Vì nếu tên theme bị trùng với bất cứ theme nào đang có trên thị trường (có thể ở .org repository hoặc các marketplace khác như Themeforest, Creative Market, Template Monster…) thì đều không qua được quá trình auto scan dẫn đến không được submit. Hoặc tường hợp oái oăm là trong lúc bạn đang loay hoay để dev ra con theme thật perfect thì có thằng khác lấy mất tên theme và submit trước bạn. Thời gian chờ đến lượt để theme được review là khoảng 3 tháng từ lúc upload lần đầu và ticket được tạo, cho nên bạn sẽ có kha khá thời gian để cập nhật theme trước khi được assign cho 1 reviewer.
  • License: đọc kỹ và cơ bản về các loại license. Phần này cực kỳ quan trọng khi submit theme/plugin lên. Tất cả những gì được sử dụng trong theme phải định nghĩa license trong file readme.txt <==r ất quan trọng nếu lơ là sẽ bị reject ngay. Theme của bạn phải tương thích với GPL license. Xem WordPress Licensing & GPL để hiểu rõ hơn GPL license là gì, nhớ đọc cả phần Further Reading bên dưới.
  • Mẹo vặt: Thời gian chờ đến lượt để theme được assign cho 1 reviewer là khoảng 3 tháng thì họ mới bắt đầu review và feedback cho bạn, nếu theme có hơn 3 lỗi khác nhau thì sẽ bị deny ngay lập tức. Một mẹo là có thể chủ động ask first review bằng cách vào Slack channel của Theme Review Team (TRT) ping 1 reviewer nhờ họ check sơ qua lỗi cơ bản trước, trong thời gian chờ tới lượt thì bạn có thể fix các lỗi đó và cập nhật theme lên version mới.

So với quy trình submit plugin lên WP.org khá nhanh (1-7 ngày tùy độ phức tạp) thì theme ngược lại, rất lâu và đau khổ. Kéo dài hàng tháng trời. Của mình là 3 tháng tình từ khi ticket được tạo.

Một điều bạn nên biết là số Theme chờ được review hiện nay rất nhiều, trong khi team Reviewer thì khá ít và phần lớn họ đều volunteer (tình nguyện viên) và có công việc riêng nên khó mà trách và đòi hỏi quá trình duyệt theme nhanh hơn được. Đây là vấn đề lớn đối với hệ thống review theme của WordPress.org tuy nhiên hiện nay chưa có hướng giải pháp nào khả dĩ tối ưu hơn.

– Kimi
WordPress dùng Trac Ticket để quản lý theme submit

Quy trình review theme như sau:

  1. Bạn submit theme tại: https://wordpress.org/themes/getting-started/
  2. Hệ thống auto check vòng đầu nếu PASS sẽ có ticket mới được tạo. Nếu FAIL sẽ thông báo nguyên nhân và tự fix sau đó submit lại.
  3. Chờ đến lượt theme được assign cho 1 reviewer
  4. Sau khi reviewer approve sẽ đến key reviewer check lại một lần nữa
  5. Key reviewer đồng ý sẽ mark ticket “live” là theme bạn xuất hiện trên WordPress.org repository

Qua quá trình submit theme của mình và xem các ticket themes khác, các lỗi lớn sau đây chính là nguyên nhân khiến theme bị review lâu hoặc deny:

  • Security: Không validate, sanitize và escape đúng cách
  • Prefix: prefix everything, từ tên class, file, tên hàm, scripts & styles handle name…
  • Translate Ready: Tất cả Strings trong theme phải được translate ready. Xui cái là hiện tại chưa có bất cứ tool nào giúp bạn tìm ra string chưa được support translate trong theme cả, phải làm thủ công bằng cách mở từng dòng code và dùng mắt để tìm. Được confirm bởi ít nhất 2 Key Reviewer.
  • Mẹo: Quá trình review theme KHÔNG review design, ngoài trừ 1 số chỗ quá phản cảm hoặc đi ngược lại với UX cho người dùng thì reviewer sẽ nhắc nhở bạn sửa, ngoài ra ưu tiên của reviewer là bảo đảm theme của bạn đúng chuẩn WordPressbảo mật tối đa trong khả năng của bạn và reviewer. Mắc cười ở chỗ review theme nhưng lại không đánh giá về design 😀

Công cụ và Nguồn tài liệu

Công cụ dev theme & testing

NS Theme Check

Theme Check

Query Monitor

Developer plugin

Nguồn tài liệu tham khảo

themereview.co

WordPress Theme Handbook

NS Theme Check: luôn test theme với plugin này trước mỗi lần submit lên .ORG

Xem theme Bitcoinee – free Cryptocurrency WordPress theme của mình trên WordPress.org: https://wordpress.org/themes/bitcoinee/

Nếu bạn đã từng submit theme hãy chia sẽ thêm nội dung cho bài viết qua phần comment bên dưới. Đối với các bạn chưa submit cần hỗ trợ gì cũng để lại bình luận nhé.