Học PHP cho WordPress và các tài nguyên cần thiết

Nếu bạn đã yêu thích mã nguồn WordPress và muốn đi sâu hơn về nó, cụ thể là lập trình các tính năng trong WordPress, viết plugin hoặc làm theme thì bạn phải thành thạo rất nhiều kiến thức. Những kiến thức cần thiết để làm web thì mình không nói rồi nhé, nhưng một trong các kiến thức quan trọng nhất để có thể lập trình các tính năng trong mã nguồn WordPress là ngôn ngữ lập trình PHP. Bởi vì WordPress được viết bằng ngôn ngữ PHP để tương tác với cơ sở dữ liệu dùng hệ quản trị MySQL nên bạn muốn “giao tiếp” được với code trong WordPress thì phải biết PHP.

Thực ra mình đã viết xong một serie Học PHP dành cho nhu cầu làm việc trong WordPress, nhưng thật trớ trêu là đến khi viết xong thì đọc lại mình thấy là chuối quá và có khi là bạn sẽ càng khó hiểu PHP thêm. Nên mình quyết định là không đăng serie đó nhưng sẽ viết một bài guide là bài này để hướng dẫn bạn từng bước tìm hiểu PHP để có thể làm việc với WordPress.

PHP là gì và hoạt động ra sao?

PHP là một ngôn ngữ lập trình ứng dụng được thiết kế để phục vụ cho nhu cầu viết các ứng dụng phục vụ trên nền tảng website. Điều đó có nghĩa là chúng ta chỉ sử dụng PHP trong việc lập trình website, và những dữ liệu PHP sẽ được xuất ra dưới dạng HTML để trình duyệt hiển thị.

PHP không thể đơn phương hoạt động được nên nó sẽ cần một trình thông dịch (PHP interpreter) được hiểu như là một module của web server (ví dụ như module mod_php của Apache để thực thi mã PHP) hoặc thông qua một chương trình CGI để có thể thực thi được các mã PHP. Sẵn đây mình nói lái qua một xíu luôn là cái localhost mà bạn sử dụng để cài lên máy tính nhằm chạy được các mã nguồn PHP là một ứng dụng webserver đã được cài mod_php nên bạn mới chạy được các mã PHP đấy.

Nhiệm vụ của PHP là gì?

Trong một trang web, nhiệm vụ của PHP sẽ là xây dựng các kịch bản trong mã nguồn của website để nó thực thi nhằm làm các việc mà bạn không phải làm thủ công. Ví dụ, nó có thể hiển thị thời gian hiện tại trên webserver hoặc một múi giờ nào đó đã được định nghĩa sẵn trong ngôn ngữ PHP ra ngoài website, ví dụ như:

<?php echo 'Năm nay là ' . date('Y'); ?>

Mặc dù bây giờ bạn có thể chưa hiểu PHP nhưng bạn có thể mường tượng được là nó liên quan đến việc hiển thị thời gian. Nhưng mà PHP không chỉ làm việc với nhiêu đó, mà nếu mình kể ra thì không biết bao giờ cho hết được.

Ngoài ra một nhiệm vụ quan trọng nữa của PHP để có thể hình thành lên những trang web động đó là kết nối với một máy chủ chứa cơ sở dữ liệu để thao tác như nhập, xoá, sửa và lấy dữ liệu về website. Công việc này nó giống như kiểu bạn đi vào website, PHP tự hiểu bạn cần xem dữ liệu gì, rồi nó kêu kêu thằng cơ sở dữ liệu là cần lấy cái này, lấy cái kia để đưa ra cho bạn xem. Hoặc là ví dụ rõ ràng hơn trong WordPress, khi bạn đăng một Post thì cái post đó sẽ được lưu vào cơ sở dữ liệu.

PHP trong WordPress

Bây giờ bạn muốn biết PHP làm gì trong WordPress thì hãy xem mã nguồn của theme Twenty Fifteen, mở template content.php lên và xem. Trong đó là một cấu trúc của một bài viết, bạn có thể dễ dàng thấy là nó được lồng vào trong những thẻ HTML nhằm hiển thị ra bên ngoài, ví dụ như bạn có thể thấy đoạn này:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

Nó sẽ sử dụng các hàm đặc biệt của WordPress như the_ID() hay post_class() để hiển thị các thông tin tương ứng vào bên trong thẻ HTML này. Lúc này nó sẽ hiển thị nội dung HTML ra ngoài trình duyệt kiểu thế này:

<article id="post-24819" class="post-24819 post type-post status-publish format-standard has-post-thumbnail hentry">

Hoặc nó áp dụng mệnh đề if else trong ngôn ngữ PHP để hiển thị thành phần trong một bài viết như thế này:

if ( is_single() ) :
        the_title( '<h1 class="entry-title">', '</h1>' );
else :
        the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
endif;

Các kiến thức PHP để lập trình trong WordPress

Khi học PHP, bạn sẽ được học rất nhiều các kỹ thuật liên quan đến lập trình website nhưng không phải cái nào cũng sử dụng trong WordPress, nhưng nếu bạn có nhiều kiến thức về PHP thì tốt cho bạn thôi.

Kiến thức căn bản

Các kiến thức căn bản về PHP nói riêng hay một ngôn ngữ lập trình nói chung như kiểu dữ liệu (data types), biến (variable), mảng (array), vòng lặp (loop), mệnh đề rẽ nhánh if else (if statement) là những kiến thức bắt buộc bạn cần phải biết. Mấy cái này thì dĩ nhiên là phải biết rồi nhưng mình nói ra để bạn biết là nó rất quan trọng nên hãy nắm thật vững.

Kiến thức về hàm (function)

Kỹ thuật xây dựng hàm rất quan trọng khi bạn lập trình trong WordPress. Trong mã nguồn này nó có rất nhiều hàm có sẵn mà nếu bạn chưa biết qua thì khó lòng mà làm việc trong WordPress được. Thật ra khái niệm hàm cũng rất đơn giản, nếu bạn chưa học qua PHP thì mình xin nói trước rằng hàm nghĩa là một tập hợp các kịch bản PHP và nó sẽ được thực thi khi hàm được gọi ra.

Thành thạo mảng (Array)

Mảng là kiểu dữ liệu rất quan trọng trong bất cứ dự án nào, trong đó có WordPress. Hãy tưởng tượng mảng là một biến có nhiều giá trị, trong WordPress nó thường sử dụng mảng cho 2 việc, đó là để thiết lập các tham số khi sử dụng một hàm hoặc một lớp (class) nào đó, và việc còn lại là để xử lý các dữ liệu được trả về khi sử dụng một hàm nào đó trong WordPress. Cho nên chỉ có thông thạo thao tác xử lý mảng, bạn mới có thể không phải lấn cấn khi học WordPress nâng cao.

Lớp và Đối tượng (Class & Object)

Lớp nó cũng giống như mảng vậy, là tập hợp các kịch bản PHP nhưng sẽ nằm ở cấp độ cao hơn. Và trong lớp nó có thể chứa các biến (gọi là thuộc tính) và các hàm bên trong lớp (gọi là phương thức). Và khi lớp được tái tạo thì nó sẽ trả về các đối tượng dữ liệu. Cái này khi học PHP bạn có thể thực hành càng nhiều càng tốt, và khi học đến đây là coi như bạn đã học lập trình hướng đối tượng (OOP) rồi.

Sở dĩ mình kêu các bạn học phần này là vì ngoài hàm, WordPress còn có một số lớp mà bạn sử dụng rất thường xuyên mà thông dụng nhất là lớp WP_Query (để tạo truy vấn) và lớp WP_Widget (để tạo widget). Ngoài ra, khi bạn lấy dữ liệu của bài viết thì bạn sẽ làm việc với đối tượng rất nhiều (cụ thể là đối tượng $post).

Tài nguyên học PHP

Tiếng Anh (khuyến khích)

CodeAcademy
Học PHP cơ bản miễn phí tại CodeAcademy

Học PHP cơ bản miễn phí tại CodeAcademy

Nếu bạn có thể đọc tiếng Anh mà muốn học PHP đỡ chán hơn thì nên thử qua khóa học PHP căn bản này. Sở dĩ học tại CodeAcademy mình rất thích là vì bạn vừa học vừa thực hành luôn, tức là bạn sẽ học các kiến thức mới thông qua giải các bài tập từ gợi ý của họ, làm một lần là nhớ rất lâu.

200 video học PHP của TheNewBoston
Học PHP từ cơ bản đến nâng cao miễn phí qua video

Học PHP từ cơ bản đến nâng cao miễn phí qua video

TheNewBoston là một kênh học code rất nổi tiếng trên Youtube rồi, và nếu bạn muốn học PHP, chưa biết đến kênh này thì hãy thử ngay bộ bài học PHP từ cơ bản đến nâng cao của họ. Với 200 bài hướng dẫn cực kỳ chi tiết, dễ nghe, bạn có thể nắm vững kiến thức PHP vì không chỉ học mà serie này còn có các bài tutorial rất trực quan nữa.

PHP the right way

phptherightwayNếu bạn đã từng học lập trình, đã nắm được một vài ngôn ngữ và muốn bắt đầu với PHP thì bạn nên bắt đầu tại đây. Cái tên nói lên tất cả, đây là một cuốn sổ tay hướng dẫn bạn học PHP theo cách đúng nhất, được cập nhật với nền tảng kiến thức mới nhất vì hiện nay trên mạng có rất nhiều tutorial về PHP đã lỗi thời. Nếu bạn follow theo cuốn sổ tay này, mình nghĩ kiến thức về PHP của bạn sẽ không thuộc dạng kém đâu.

Tiếng Việt

QHOnline
Học PHP qua video tại QHOnline

Học PHP qua video tại QHOnline

Cách đây vài năm về trước, đây chính là nơi mình đã học PHP căn bản và sau đó là PHP nâng cao. Với cách giảng dạy dễ hiểu qua video, có bài tập thực hành kèm theo thì mình tin là bạn có thể hiểu PHP theo hướng đơn giản nhất mà không phải nhồi nhét quá nhiều định nghĩa phức tạp.

Tài nguyên PHP trong WordPress

Dưới đây là các liên kết hữu ích để bạn có thể tra cứu về mã nguồn WordPress khi cần.

PHP Coding Standard

Để tránh code của bạn khó đọc, WordPress có biên soạn một tiêu chuẩn viết code trong WordPress để nó thân thiện hơn với người đọc, đồng bộ với mã nguồn nên nếu có thể, hãy xem qua các quy tắc viết PHP của họ để viết code tốt hơn.

WordPress Code Reference

Nếu trong lúc học WordPress nâng cao hoặc viết code trong WordPress mà có gặp hàm nào khó hiểu hoặc muốn tìm hàm nào đó thì có thể sử dụng trang này để tra cứu. Ở đó bạn có thể biết chi tiết về các đoạn code trong WordPress, cũng như cách sử dụng nó, hầu như bạn sẽ dùng liên tục.

WordPress Plugin Handbook

Bạn không biết các kiến thức trong WordPress cần thiết để có thể lập trình được plugin? Hãy xem qua cuốn sổ tay này, ở đó có chi tiết các trình tự các kiến thức cần có để có thể viết plugin trong WordPress.

Lời kết

Mặc dù mình đã không đăng serie học PHP trong WordPress nhưng hy vọng với những tài nguyên và các lời khuyên ở trên, bạn có thể lên kế hoạch rõ ràng hơn để học PHP, biết mình học để làm gì và học như thế nào để có thể làm việc được trong WordPress.

Chúc các bạn sớm thành thạo lập trình WordPress!

Thạch Phạm

AZDIGI's CEO. Đam mê công nghệ, WordPress, Server và xăm mình nữa.

Xem thêm bài viết Subscribe

Để lại bình luận

16 Bình luận trên "Học PHP cho WordPress và các tài nguyên cần thiết"

avatar
Sắp xếp theo:   mới nhất | cũ nhất | đánh giá nhiều
Buzz
Khách

(y)

23zdo
Khách

hay quassssssssssssssssss

23zdo
Khách

hay quá bạn ơi

abc@gmail.com
Khách
[email protected]

(y)

a@gmail.com
Khách
[email protected]

adsf dsg fdsgf gfds fds h

123like
Khách

like

Lò nướng Sanaky
Khách

Em muốn mua hosting bên a thạch cung cấp. anh cho e thêm thông tin được không ạ

Tiến
Khách

Anh cho em hỏi!

Em muốn làm một trang mà tại đấy em tạo ra một mẫu điền các thông số hoặc đoạn văn, sau đấy mình có thể lưu lại hoặc xuất ra file office như word, excel, pdf,..

Có plugin nào làm việc này không ạ, xin cảm ơn

Cocobay Đà Nẵng
Khách

Cảm ơn bạn đã chi sẻ

ThanhCong
Khách

Mình đang tập làm website, rất mừng khi thấy được blog này, website mình đang làm có chủ đề về Phật giáo:
Cảm ơn bạn rất nhiều, cho mình đi ké cái backlink nhé, thanks.

LTTK
Khách

Rất bổ ích, cảm ơn Thạch đã chia sẻ những kiến thức cần thiết như vậy.

quocle
Khách

rất nhiều ý nghĩa

which
Khách
nullHe is choosing a dvd for tonight. You chose a book for reading. He is looking at them. You looked at them. He is choosing a dvd for tonight. I am looking at for a map. You choose a dvd for tonight. He chose a dvd for tonight. He chose a dvd for tonight. I am going to cinema. I am choosing a book for reading. I am choosing a dvd for tonight. You went to concert. I choose a book for reading. You chose a dvd for tonight. You went to concert. I chose a dvd for tonight. You… Xem thêm »
Tom
Khách

hay

Bách
Khách

Hay quá anh ơi! Cảm ơn anh!!

quocle
Khách

Cảm ơn anh Thạch

wpDiscuz
menu
menu