Hướng dẫn function php wordpress
Show Một trong những file quan trọng nhất của một theme WordPress đó là file functions.php. Đây là một file bắt buộc trong theme và nó sẽ chứa các đoạn code nguồn mà bạn muốn nó luôn được load mỗi khi tải website, tóm lại là toàn bộ code PHP cần thiết trong một theme (ngoại trừ các code hiển thị nội dung) thì sẽ đều được viết vào file này. Trong bài này, chúng ta sẽ tiến hành khai báo các đoạn code cần thiết trong file functions.php này, cũng như thiết lập một số hằng dữ liệu (constrant) để thiết lập một số dữ liệu quan trọng mà chúng ta sẽ cần sử dụng lại nhiều. Thiết lập các hằng dữ liệu quan trọngTrong khi viết code trong file functions.php, chúng ta sẽ dùng đi dùng lại một số đoạn code như get_stylesheet_directory_uri, hoặc khai báo các đường dẫn. Do vậy, chúng ta nên thiết lập trước một số hằng dữ liệu chứa cố định các giá trị đó để có viết thì chỉ cần viết tên hằng ra thôi. Chúng ta có code ban đầu như sau:
Rồi sau này khi bạn làm theme khác, hoặc cải tiến theme thì có thể thêm một số hằng dữ liệu vào để cho phù hợp với nhu cầu của mình, cái quan trọng là mình muốn tạo thói quen này cho các bạn ngay từ bây giờ. Bây giờ bạn hãy tạo thêm một thư mục trong theme tên là core và tạo một file tên là init.php trong thư mục đó. Tại sao lại tạo thư mục này và file này làm cái gì? Bởi vì như mình đã nói ở đầu bài, là trong bài này mình sẽ hướng các bạn đến việc làm framework theme cho riêng mình luôn, nên thư mục /core sẽ chứa các file code PHP quan trọng trong theme của bạn mà bạn không muốn thay đổi nhiều nếu có nhu cầu tạo child theme. File init.php sẽ có ý nghĩa là load các file PHP đặc thù trong theme mình mà chúng ta sẽ tạo, ví dụ như load các file tạo widget của theme vào, bước này chúng ta sẽ làm sau. Bạn viết tiếp vào file functions.php như sau để load file init.php.
Thiết lập chiều rộng nội dung ($content_width)Bây giờ, bạn hãy đặt đoạn code này vào file functions.php nhé:
Biến Hàm thiết lập chức năng của themeTiếp tục, chúng ta sẽ tạo một hàm tên gì đó và sẽ có chức năng móc vào cái hook init của WordPress để khởi tạo các chức năng sẽ được theme hỗ trợ, như post format, customizer,…Hãy chèn đoạn sau vào:
Điều này có nghĩa là, hàm Bây giờ, chúng ta sẽ tiến hành viết code vào trong hàm Thiết lập theme có thể dịch được sang nhiều ngôn ngữChức năng này có nghĩa là chúng ta sẽ khai báo thư mục chứa ngôn ngữ trong theme, và khai báo textdomain để load các chuỗi ngôn ngữ có trong theme nhằm mục đích cho theme có thể đọc được các file ngôn ngữ và người dùng có thể dịch ra nhiều ngôn ngữ khác nhau bằng việc sửa/tạo file .po. Chúng ta có code như sau:
Cái textdomain nghĩa là một cái tên nhận diện các chuỗi mà chúng ta sẽ cho phép dịch trong theme. Cách viết chuỗi chứa textdomain mình sẽ nói về sau. Tự chèn liên kết RSS Feed trong mã nguồnĐây là một chức năng nhỏ trong WordPress, nó sẽ tự thêm một liên kết RSS Feed chèn trong cặp thẻ trong mã nguồn website để các trình đọc RSS Feed có thể hiểu trực tiếp địa chỉ RSS Feed trong website của bạn mà không cần khai báo chính xác địa chỉ RSS Feed, tạo sự thuận tiện cho người đọc.
Thêm chức năng thumbnail cho postChức năng thumbnail ở đây nghĩa là chức năng Featured Image mà khi chúng ta soạn post. Để cho cái đó có thể hiển thị ra thì chúng ta phải khai báo sử dụng chức năng này trong theme:
Thêm chức năng title-tagĐây là một chức năng mới có trong WordPress 4.1 trở đi. Chức năng title-tag nghĩa là sẽ giúp cho theme tự thêm thẻ
Điều này có nghĩa là sau này chúng ta code file header.php thì sẽ không cần thêm hàm wp_title() nữa. Hãy cứ yên tâm là các plugin hỗ trợ SEO như WordPress SEO by Yoast đều tương thích với chức năng này.
Thêm chức năng Post FormatChức năng Post Format nghĩa là chúng ta có thể tùy biến việc hiển thị post theo các định dạng như Video, Image, Gallery, Quote,…Ở đây chúng ta sẽ chỉ sử dụng vài post format mà thôi.
Bây giờ bạn có thể thử vào tạo post mới sẽ thấy có khung chọn Post Format rồi. Thêm chức năng custom backgroundChức năng này sẽ giúp cho người dùng có thể đổi lại màu nền hoặc thêm ảnh nền cho website dễ dàng thông qua Customize.
Tạo menu locationTrong cái theme mà chúng ta sẽ làm sẽ có một menu hiển thị ra bên ngoài. Do vậy chúng ta sẽ tiến hành viết code để WordPress tạo một Menu Location để chúng ta có thể thêm menu vào đó.
Ở đoạn trên, mình sẽ tạo một menu có slug tên là Tạo sidebarTheme này sẽ có một sidebar nên chúng ta sẽ cần tạo ra một sidebar để chút nữa chúng ta có thể viết code hiển thị vào file sidebar.php nhé.
Bây giờ bạn có thể sẽ thấy sidebar đã xuất hiện trong Appearance -> Widgets rồi đó. Toàn bộ nội dung functions.php trong bài này
Lời kếtVậy là trong bài này chúng ta đã có một file functions.php khá đầy đủ các tính năng cần thiết trong theme rồi. Thêm vào đó, cũng ta đã có thêm thư mục /core trong theme và file init.php trong đó nhưng chưa có nội dung. Ở bài sau, chúng ta sẽ đi qua việc viết thẳng đến nội dung của file header.php của theme nhé. Thạch PhạmBé Thạch 18 tuổi, hiện công tác tại AZDIGI với vị trí giữ xe và viết thuê tại ThachPham.Com. Sở thích nghiên cứu về website, DevOps, SysAdmin và xăm mình nữa. Phương châm sống của bé là "No Pain, No Gain". Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng. |