Làm thế nào để trở thành chuyên viên lập trình WordPress
Làm thế nào để trở thành chuyên viên lập trình WordPress
Với hơn 76 triệu người dùng, WordPress là CMS phổ biến nhất trên internet. Luôn có người cần chuyên gia lập trình WordPress để phát triển website của họ.
Chỉnh sửa WordPress bao gồm việc viết code độc lập giao tiếp với WordPress core code. Nếu bạn lỡ gây ra bất kỳ lỗi nào, core code sẽ không bị ảnh hưởng vì vậy bạn có thể thử làm bất kỳ thứ gì khác mà không phải cài lại WordPress.
Bạn có thể chia sẻ công việc trên WordPress Repositories miễn phí, hoặc kiếm tiền từ chính website của bạn hoặc trên private marketplaces.
Để có một nền tảng học tập hoàn chỉnh, bạn chỉ cần mua tên miền giá rẻ nhất (khoảng 22k) và một hosting để cài WordPress là được. Trong bài hướng dẫn này, chúng tôi sẽ đề ra các bước để giúp bạn trở thành chuyên viên lập trình WordPress.
Bạn cần gì?
Bạn có thể phát triển/lập trình gì?
Bạn cần biết điều gì?
Ví dụ về chuẩn WordPress Coding
Giấy phép Themes và Plugins
Lập trình WordPress Website cho khách hàng
Thuế và thu nhập khi bạn lập trình WordPress
Kết luận
Bạn cần gì?
Text editor là Notepad++, NetBeans, Sublime Text.
Một server local riêng
WordPress đang hoạt động
Bạn có thể phát triển/lập trình gì?
Bạn có thể đổi giao diện của site bạn, cách vận hành của mã nguồn gốc, admin panels và hơn thế nữa. Với kiến thức nâng cao của bất kỳ ngôn ngữ lập trình web nào, bạn còn có thể tạo nên một trang người dùng mới và admin control panel mới. Những gì bạn có thể làm được chỉ bị giới hạn bởi kiến thức và sự ham học hỏi của bạn.
Bạn có thể tạo:
Themes – giao diện của site;
Plugins – thay đổi hoặc mở rộng tính năng của WP;
Widgets – để hiện lên sitebar và tạo các thông tin nhất định;
Toàn bộ WordPress websites – bao gồm themes, plugins và custom code để tạo website độc đáo dựa trên nhu cầu của khách hàng;
Ứng dụng mới sử dụng WordPress làm backend, với REST API;
Tạo Themes
How to create WordPress ThemeThemes định nghĩa bố cục và phong cách của WordPress website. HTML5, CSS3, và chuẩn thiết kế responsive là rất quan trọng cho các website hiện đại. Themes sử dụng nhiều hàm của WordPress core, vậy để lập trình WordPress, hiểu về PHP là một việc cần thiết.
Bài hướng dẫn nên đọc:
Làm thế nào để tạo responsive theme bằng HTML5
Themes là một lớp nằm trên WordPress. Các thông tin như tiêu đề và nội dung bài viết được hiển thị bằng PHP functions cụ thể trong HTML.
Tạo Plugins
How to create WordPress pluginPlugins chỉnh sửa cách vận hành của WordPress mà không đụng vào core code. PHP được dùng nhiều nhất, vì vậy để hiểu làm thế nào để gọi và viết function là cần thiết để lập trình WordPress. Chúng là code độc lập giao tiếp với WordPress bằng các functions của core code.
Tài liệu hướng dẫn:
Làm thế nào để tạo plugin WordPress;
Bạn có thể thêm function mới, xóa function mặc định, đổi nội dung của thông tin trước khi nó hiển thị (như là thêm nội dung vào tiêu đề bài post), vâng vâng.
Bất kỳ thay đổi nào đến hành vi của WordPress đều có thể làm được bằng plugin. Người dùng sẽ có thể vô hiệu plugin và quay lại site hoạt động lại mà không gặp lỗi nào.
Bạn cần biết điều gì?
Core code của WordPress được lập trình bởi ngôn ngữ phổ biến như PHP và SQL. Front-end là sự kết hợp giữa HTML và CSS, JavaScript, jQuery và AJAX. Bạn có thể sử dụng chúng để chỉnh sửa WordPress. Hãy xem qua:
HTML (và HTML5)
HTML hợp lệ là điều kiện cần thiết cho trải nghiệm người dùng. HTML phù hợp sẽ giúp trang web trông giống nhau với mọi trình duyệt. Nếu mã nguồn của bạn không hợp lệ, trình duyệt sẽ biên dịch mã nguồn khác đi và phần hiển thị sẽ rất kèm. Viết HTML đúng có nghĩa là đúng syntax. Syntax sẽ ảnh hưởng đến toàn bộ cấu trúc văn bản, thứ tự của HTML elements, nesting elements, và đúng format attributes.
Một HTML document phải có cấu trúc đúng bắt đầu với khai báo DOCTYPE , mở tag , sau đó tới phần head section với document metada như tiêu đề, phần body, và đóng với tag.
HTML elements được chia thành flow elements (blocks) và phrasing contenet (inline).
Bên trên là cấu trúc HTML được nest đúng.
Mỗi HTML element có quy định nội dung bên trong là gì. Paragraph tags được phép có phrasing content (inline) như là (bold), (italics), (links),…. Chúng không được phép chưa flow elements (blocks) như là
- ,
Những tài liệu hữu dụng:
Tải HTML cheatsheet;
Để học xem cái gì được phép đặt bên trong HTML, bạn nên xem qua phần W3c HTML language reference;
Để đảm bảo code của bạn đúng, bạn có thể chạy qua W3C HTML Validator;
CSS3 & Responsive design
Cascading Style Sheets (CSS) được dùng để style trang của bạn và nội dung. Từ màu sắc đến font chữ đến màu của backup, bạn có thể quản lý từng phần của site. Bạn có thể nhanh chóng thay đổi style và nó có thể áp dụng cho toàn bộ website.
Ở Mỹ có tới khoảng 71% dung lượng internet là qua điện thoại. Vì vậy để chắc là bố cục có thể đẹp trên toàn bộ các thiết bị là rất quan trọng. Media Queries giúp bạn định nghĩa phần nào của trang sẽ hoạt động thế nào dựa vào kích thước của màn hình view trang.
Các tài liệu hữu ích:
Tải CSS Cheat Sheet;
Học cơ bản CSS tại BitDegree;
PHP
PHP (Hypertext Preprocessor) là ngôn ngữ scripting có thể giúp webpage hoạt động linh hoạt. WordPress được dựa trên PHP bên cạnh MySQL.
PHP quản lý tác vụ nền như là tìm bài post trong database và HTML được dùng để hiển thị kết quả của PHP script sau khi nó hoàn tất tác vụ.
Các tính năng phổ biến PHP bạn có thể dùng là:
Variables – được dùng để lưu thông tin như là chuỗi hoặc số;
Arrays – tập hợp thông tin được cấp cho biến;
Functions – được dùng để hoàn tất một tác vụ sau đó cho kết quả có thể dùng sau, kết quả có thể được gắn vào biến;
Conditionals – nếu 1 == 1 là đúng thực hiện gì đó, nếu 1 == 1 là sai làm việc khác;
Comparison operators – được dùng để so sánh giá trị lẫn nhau. Có sự khác biệt giữa =, == và ==== việc này có thể ảnh hưởng đến kết quả của câu điều kiện;
PHP Classes
Đối với lập trình hướng đối tượng Object Oriented Programming (OOP), kiến thức PHP classes là cần thiết. Classes giúp bạn nhóm variable và functions liên quan đến nhau vào trong cùng một chỗ.
Trong WordPress, tất cả thông tin liên quan đến một post nhấ định được lưu như là object trong the class có tên WP_Post sau khi được trích xuất từ database.
Tài liệu hữu ích:
Xem qua trang WordPress codex để có thêm thông tin về lập trình WordPress – Class Reference/WP Object Cache;
MySQL
Một MySQL database được dùng để lưu trữ toàn bộ thông tin của trang WordPress, thông tin động được thu thập bởi PHP. Nội dung thật sự của mỗi trang được đưa lên WordPress site được lưu trong phần database.
WordPress cung cấp một bộ các hàm PHP để đảm bảo tương tác với WordPress database một cách an toàn và statements của bạn sẽ luôn chạy đúng functions. Một số functions sử dụng SQL statement chuẩn, một số sử dụng thông tin của arrays.
Tài nguyên hữu ích:
SQL functions được giải thích trên trang dành cho lập trình WordPres: – Talking to the Database: The wpdb Class;
JavaScript và jQuery
JavaScript giúp bạn đổi cách vận hành của nội dung, nó giúp bạn làm cho trang sạch sẽ hơn hoặc thân thiện hơn. Ví dụ nếu bạn muốn hiển thị nội dung sau khi người dùng ấn một nút, bạn có thể dùng Javascript để làm vậy.
jQuery là một thư viên phổ biến và quan trọng nhất của Javascript, và phên bản cũ hơn được đính kèm mặc định trong WordPress. Syntax sẽ hơi khác so với Javscript, và nó đơn giản hóa cách bạn chọn từng phần của trang. Nó giúp bạn xâu chuỗi nhiều hàm, cách này cũng giúp code sạch sẽ hơn và dễ đọc hơn.
Cả 2 có thể được viết theo cách tách biệt hoàn toàn khỏi HTML. Nếu Javascript bị vô hiệu trang web vẫn có thể tiếp tục hoạt động một cách bình thường.
Tài nguyên hữu ích:
Để biết thông tin thêm về Javascript, hãy xem qua cách dùng Javascrip WordPress codex page;
AJAX
Ajax (Asynchronous JavaScript and XML) giúp gửi và nhận dữ liệu mà không phải hoàn toàn tải lại trang. Có nghĩa là bạn có thể đổi nội dung trang mà không phải tải lại. Ví dụ, nếu bạn muốn tạo một kết quả tìm kiếm cho ra kết quả ngay, bạn có thể sử dụng AJAX để gửi data tới search secript, trả lại kết quả và hiển thị nó mà không phải tải lại toàn bộ trang.
WordPress sử dụng AJAX trong admin control panel. Ví dụ, khi viết bài post hoặc trang web, nó sử dụng AJAX để tự động lưu.
Bạn có thể sử dụng JavaScript hoặc jQuery để tạo AJAX requests. Vì syntax đơn giản hơn và trực tiếp hơn, bạn nên dùng nó.
Tài liệu hữu ích:
Học cách sử dụng AJAX với jQuery;
WordPress codex entry trên AJAX;
Ví dụ về chuẩn WordPress Coding
Khi tạo themes hoặc plugin cho WordPres, bạn nên làm theo các chuẩn và định dạng của các chuyên viên lập trình WordPress đã chọn. Bạn có thể xem core PHP files để biết các khuôn mẫu được sử dụng.
Ghi chú: Viết code càng gọn gàng dễ đọc bao nhiêu thì tốt bấy nhiêu vì điều này rất quan trọng.
Single/Double quotes
Echoing HTML Attributes – esc_attr()
Khi xuất chuỗi trong HTML attributes, luôn dùng function WordPress esc_attr() để không phá vỡ code HTML.
Indentation
Dùng tabs, không dùng khoảng trống để thụt lề. Sử dụng khoảng trắng giữ key => value pairs để => đều thẳng hàng. Đặt mỗi key/value trên cùng một dòng của nó. Đóng dấu ngoặc đơn trên dòng riêng.
Đặt tên biến, functions và class
Variables và functions – luôn dùng chữ thường và cách nhau bởi gạch dưới. Tên luôn giải thích ngắn của biến và functions là gì.
Classes – tên class phải in hoa, ngăn nhau bởi gạch dưới để phân biệt với biến và functions.
Giấy phép Themes và Plugins
Nếu bạn đang bán sản phẩm của bạn trên website của riêng bạn, phần này không cần thiết.
Tuy nhiên, nếu bạn định bán plugin hoặc themes trên WordPress.org repositories, chung PHẢI miễn phí và phát hành dưới GPL-compatible licence.
WordPress Plugin Direcotory
GPL là viết tắt của General Public Licence, cấp phép cho người dùng một số quyền khi tải và sử dụng chúng. WordPress developer khuyên dùng bản GNU General Public License, version 2 hoặc mới hơn.
Tất cả file trong sản phẩm của bạn phải thỏa mãn giấy phép này, bao gồm thư viên của bên thứ 3. Bạn phải có quyền phát hành bất kỳ thư viện nào được include. Điều này rất quan trọng vì bạn phải biết chính xác bạn có quyền gì để bạn có thể cấp sản phẩm này cho user sử dụng.
Về cơ bản nó đảm bảo bạn có một số quyền phù hợp với sản phẩm gốc. Nó cho phép người dùng chỉnh sửa sản phẩm và phát hành lại một phần hoặc toàn bộ. Chúng phải giữ thông báo bản gốc và chuyển giao giấy phép copy bạn chọn. Chúng phải rõ ràng rằng không có bảo đảm bảo nào được cấp kèm với phần mềm. Nếu user chỉnh sửa sau đó phân phối lại phần mềm, user phải làm rõ là phần mềm đã được chỉnh sửa và không đang phân phối sản phẩm gốc.
Bạn không được khóa bất kỳ tính năng nào sau paywall, tất cả tính năng trả phí phải là plugin riêng. Bạn có thể quảng cáo plugin trả phí là nó không gây phiền toái.
Danh sách các luật liên quan đến WordPress.org repositories, truy cập Developers Handbook.
Lập trình WordPress Website cho khách hàng
Nếu bạn đang lập trình WordPress cho khách hàng, thông thường bạn cần tạo themes và plugins. Bất kỳ tính năng/hàm nào độc lập với theme phải là plugin, để tương lai người dùng có thể chuyển qua theme mới mà không phải mất các hàm quan trọng. Vì vậy hiểu thông tin khách hàng muốn gì rất quan trọng trước khi chính thức đồng ý với khách hàng các công việc bạn sẽ làm.
Tìm khách hàng
WordPress là một phần quan trọng của phần mềm. Rất nhiều người và doanh nghiệp nhỏ muốn website riêng với tính năng riêng nhưng họ không thể tự lập trình WordPress.
Công việc lập trình WordPress
Tuy nhiên, đầu tiên bạn nên làm themes và plugins riêng của bạn sau đó upload lên WordPress repository. Không gì dễ bán hơn là trải nghiệmt hực tế. Danh mục sản phẩm của bạn càng mạnh, bạn sẽ càng kiếm được việc tốt hơn. Kể cả tạo một site WordPress demo cũng có giá trị cho portfolio của bạn – một vài người cần giúp đỡ để bắt đầu.
Bạn cũng nên tìm hiểu thêm nhu cầu của khách hàng tương lai của bạn là gì. Cũng như các kỹ năng cần thiết để bạn trở thành một lập trình WordPress thành công. Vì vậy, hãy tham khảo cách để bạn nổi bật và xem qua Các chuyên viên lập trình WordPress đang tìm kiếm gì.
Cách tốt nhất để tìm việc là tìm những dự án tự do. Bạn có thể cung cấp dịch vụ của bạn trên những website tìm việc tự do và có thể bạn sẽ được chọn từ hàng ngàn profile khác, nhưng bạn có thể dễ thành công hơn nếu bạn chủ đông tìm kiếm khách hàng .
Một số trang freelancer phổ biến:
Upwork
Freelancer.com
PeoplePerHour.com
Hợp đồng và hóa đơn
Khi làm hợp đồng với khách hàng, rất quan trọng nếu bạn có bằng chừng về thỏa thuận. Bạn cần luôn làm hợp đồng để bạn và khách hàng phải cùng ký. Nó phải ghi rõ tỉ lệ thanh toán theo từng giai đoạn của công việc, ghi rõ bạn đang tính phí theo giờ hoặc một lần, ghi rõ thời hạn deadline và khung thời gian bàn giao cho khách hàng. Bạn cũng nên để khách hàng thời gian phù hợp để tiến hành thanh toán sau khi bàn giao.
Sau khi sản phẩm hoàn tất bạn nên gửi khách hàng hóa đơn liệt kê công việc của bạn, ngày bạn đã bàn giao, và giá cuối cùng, vâng vâng.
Cả 2 bên phải bảo vệ quyền pháp lý riêng. Nếu bạn không có bằng chứng về hợp đồng, khách hàng có thể không thanh toán và bạn không thể làm gì được. Chúng cũng là phương tiện để đảm bảo cả 2 bên biết chính xác mình mong đợi gì từ đối phương.
Có nhiều dịch vụ online để làm hợp đồng điện tử và hóa đơn điện tử với toàn bộ các thông tin cần thiết. Hãy đảm bảo bạn đã đọc tất cả mọi thứ bạn đang gửi cho khách hàng.
Tip: Luôn đọc luật của nước bạn trước khi làm hợp đồng và bắt tay vào làm việc.
Trang tạo hợp đồng
Freelancers Union
Empire Contract Generator
Do Contract
Trang tạo hóa đơn
Cashboard
Zoho
Invoices
Thuế và thu nhập khi bạn lập trình WordPress
Luật thuế khác nhau giữa các nước nên hiểu vềthuế là rất quan trọng khi bạn đang làm việc cho chính bạn, và bạn nên thanh toán thuế cho những thu nhập của riêng bạn.
Ví dụ ở Anh, nếu bạn thường bán giấy phép theme bạn tạo, bạn được coi là self-employed trader. Nếu bạn bán dịch vụ tạo website WordPress cho khách hàng, bạn là self-employed. Nếu doanh thu từ self-employment vượt 25 nghìn bảng, bạn phải đóng thuế trên nó. Nếu donah thu lớn hơn 85 nghìn bảng một năm, bạn phải thanh toán VAT. Không hiểu luật có thể gây ra các vấn đề về tài chính và pháp lý.
Kết luận
Bài hướng dẫn này tổng hợp các vấn đề bạn cần biết để trở thành chuyên viên lập trình WordPress thành công. Khi bạn đã học về themes WordPress và plugins, sử dụng code hiệu quả sẽ trở nên dễ dàng. Những gì bạn có thể làm được chỉ giới hạn bởi kiến thức và niềm đam mê học hỏi của bạn.