Các bạn đã và đang tìm hiểu mã nguồn WordPress, giờ bạn đang muốn tìm hiểu sâu hơn về nó, cụ thể là lập trình các tính năng trong WordPress, về plugin hoặc làm theme thì bạn phải nắm vững các kiến thức. Có lẽ những kiến thức để làm web mình không cần phải nói rồi, nhưng để làm một web thì một trong những 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 WordPress dựa theo nền tảng của PHP và đượ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ì bắt buộc bạn phải biết PHP.

Code trong WordPress phải biết PHP

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ư:

01 <?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:

01 <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:

01 <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:

01 if ( is_single() ) :

02 the_title( ‘<h1 class=”entry-title”>’, ‘</h1>’ );

03 else :

04                the_title( sprintf( ‘<h2 class=”entry-title”><a href=”%s” rel=”bookmark”>’, esc_url( get_permalink() ) ), ‘</a></h2>’ );

05 endif;