- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Đây là một điều thích thú khi bạn tạo template trong genesis child theme với Genesis Framework, công việc làm theme cũng khá đơn giản thôi.
Trước tiên chúng ta sẽ tạo file PHP mới để viết template từ đầu. Mở file này trong trình soạn thảo code của bạn ví dụ ở đây mình dùng notepad++.
Bạn có thể override một trong những template mặc định chẳng hạn: index.php, single.php, page.php,…
Tiếp theo, đến phần viết code cho template, bạn chèn thông tin template header giống như cách làm với mọi WordPress theme. Chèn đoạn code sau vào phía trên cùng của file và sửa lại thông tin phù hợp:
<?php /* Template Name: Template Name Here */ ?>
Có một vài thay đổi khi viết template trong genesis child theme, thông thường bạn sẽ bắt đầu nhúng phần header bởi hàm get_header()
nhưng với genesis bạn sẽ viết giống như cách làm với functions.php đó là sử dụng hooks và tùy biến hàm chúng ta có thể thay đổi nội dung của template trên frontend. Ví dụ, nếu template này chỉ liệt kê nội dung của custom post type bạn đã thiết lập trong wordpres, bạn có thể sử dụng hook genesis_loop
.
<?php remove_action('genesis_loop', 'genesis_do_loop'); /** * Example function that replaces the default loop * with a custom loop querying 'PostType' CPT. */ add_action('genesis_loop', 'gt_custom_loop'); function gt_custom_loop() { global $paged; $args = array('post_type' => 'PostType'); // Accepts WP_Query args // (http://codex.wordpress.org/Class_Reference/WP_Query) genesis_custom_loop( $args ); } ?>
Ở ví dụ trên nên tạo hàm ‘genesis_custom_loop’ để thực hiện lấy nội dung post type mong muốn.
Cuối cùng, chúng ta kết thúc file với hàm cung cấp bởi genesis framework, nhớ chèn nó vào cuối file. Không template của bạn sẽ tạo trang trắng khi mở ra.
<?php genesis(); ?>
Chú ý: hàm này chỉ hoạt động trên child theme, ở phiên bản genesis v1.3 cũ hàm này được thay bởi dòng
require_once(PARENT_DIR. '/index.php');
Tuy nhiên mình khuyến khích các bạn nâng cấp lên phiên bản genesis mới nhất để kế thừa nhiều hơn những tiện ích mà nó mang lại.
Lưu lại file, và đặt nó vào trong thư mục theme của bạn. Tạo page mới hoặc sửa lại page bạn sẽ sử dụng template này, tại mục template bên trái bạn chọn template từ danh sách.
Để hiểu rõ hơn cách viết template genesis child theme, bạn có thể tải demo: custom-template.php
Bạn có thể dựa vào template này để viết thêm nhưng thực sự bạn chỉ có tham khảo để học tập genesis là chuỗi các hooks kết hợp sử dụng chúng trong việc thiết kế template cũng không quá khó như bạn nghĩ.
Cảm ơn đã đọc bài viết này.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype