Những hàm cơ bản trong wordpress
Bài tiếp theo trong loạt bài hướng dẫn wordpress cho người mới bắt đầu mình xin giới thiệu cho các bạn những hàm cơ bản trong wordpress. Chắc chắn trong quá trình lập trình wordpress bạn sẽ gặp những hàm này. Bài viết này mình sẽ giới thiệu cú pháp và chức năng của 1 số hàm cơ bản trong wordpress để bạn dễ dàng tiếp cận.
1. bloginfo() và get_bloginfo()
bloginfo() và get_bloginfo() là hàm lấy dữ liệu wordpress của web site bạn đang sử dụng, nó lấy các dữ liệu chung như: Tiêu đề trang web, đường dẫn trang web, version của wordpress đang dùng... Hàm get_bloginfo() là hàm lấy dự liệu trả về, dữ liệu của get_bloginfo() có thể đem đi xử lý, còn bloginfo() cũng tương tự như dự liệu của hảm này tự động in ra luôn.
Cú pháp:
<?php bloginfo($info); ?>
Trong đó $info là tham số các dữ liệu cần lấy:
- ‘name’ : Hiển thị tên của trang web - ví dụ: Huy Kira 'S Blog
- ‘siteurl’ : Hiển thị địa chỉ trang chủ URL Website - ví dụ: https://api.huykira.net/
- ‘description’ : Hiển thị mô tả của trang web - ví dụ: HuyKira 'S Blog Download layout website miễn phí - Thiết kế layout website - Thiết web website
- ‘wpurl’ : Hiển thị địa chỉ url của trang web được thiết lập url từ bảng wp_options của database - ví dụ: https://api.huykira.net/
- ‘url’ : Hiển thị địa chỉ của trang Web - ví dụ: https://api.huykira.net/
- ‘admin_email’ : Hiển thị Email quản trị được thiết lập trong Cài đặt > Cài đặt chung - ví dụ: huykira@gmail.com
- ‘charset’ : Hiển thị kiểu Charset Encoding của website ví dụ “UTF-8”
- ‘version’ : Hiển thị phiên bản WordPress hiện tại đang sử dụng
- ‘html_type’ : Hiển thị kiểu Content Type của WordPress mặc định là “text/html”
- ‘language’ : Hiển thị ngôn ngữ site đang sử dụng
- ‘stylesheet_url’ : Hiển thị địa chỉ đến file style.css - ví dụ: https://api.huykira.net/wp-content/themes/huykiraver2/style.css
- ‘stylesheet_directory’ : Hiển thị link đến thư mục theme hiện tại - ví dụ: ví dụ: https://api.huykira.net/wp-content/themes/huykiraver2
- ‘rss_url’ : Hiển thị địa chỉ RSS 0.92 feed
- ‘rss2_url’ : Hiển thị the RSS 2.0 feed
Ví dụ như mình muốn lấy tiêu đề trang web mình sẽ làm như sau:
<h1> <?php bloginfo('name'); ?> </h1>
Nó sẽ hiển thị kết quả là: Huy Kira 'S Blog
2. get_header(), get_footer(), get_sidebar()
Hàm này hoạt động tương tự hàm include() trong php (Nếu bạn đã học qua thì sẽ biết), chức năng của nó là nối file header.php, footer.php và sidebar.php vào file khác.
Cú pháp:
<?php get_header($info); ?> <?php get_footer($info); ?> <?php get_sidebar($info); ?>
Cách dùng:
- Ví dụ bạn có file header.php bạn muốn nối file này vào file index.php. Thì trong file index.php bạn sẽ sử dụng cú pháp:
<?php get_footer(); ?>
- Nhưng trong trường hợp website của bạn có 1 trang a và b nhưng 2 trang lại có 2 header khác nhau, thì bạn bắt buộc phải chia file header.php thành 2 file header-a.php và file header-b.php thì cú pháp để sử dụng sẽ như sau:
<?php get_header('a'); // đối với file a ?> <?php get_header('b'); // đối với file b ?>
* * Lưu ý muôn sử dụng được hàm này thì các tên file phải được đặt theo đúng chính tả. là header.php hoặc
header-{$info}.php, tương tự như get_header() thì get_footer() và get_sidebar() cũng vậy.
Ngoài ra để nối file trong wordpress người ta còn dùng hàm get_template_part( $info ). Hàm này dùng để nối 1 file bất kỳ trong theme wordpress.
Ví dụ để nối file slider.php vào file index.php thì cú pháp được viết trong file index.php sẽ là:
<?php get_template_part('slider'); ?>
3. wp_head() và wp_footer()
Đây là 2 hàm bổ sung các thành phần còn thiếu cho website của bạn. Khi bạn view source của 1 trang web wordpress lên bạn sẽ thấy ngoài những đường link css, js của mình nó còn xuất hiện thêm những đường link khác, từ các pluign hay từ hệ thống, đó chính là chức năng của hàm này, nó sẽ bổ sung những thành phần khi người lập trình khai báo hoặc của các plugin vào phần head hay phần footer của trang web.
Đây là 1 số thành phần được hàm wp_head() bổ sung vào website vieccntt.net
Hàm wp_footer cũng thế nó sẽ bổ sung thành phần còn thiếu vào phía dưới của trang web thông thường là phần footer.
Nếu bạn đáng làm 1 trang web wordpress mà bạn ko thấy xuất hiện thanh tùy chọn này có nghĩ bạn đã quên dùng hàm wp_footer()
Cú phát và cách dùng:
<?php wp_head(); //Hàm này thường được đặt trong thẻ <head></head> ở file header.php. ?> <?php wp_footer(); //Hàm này thường được đặt trong file file footer.php và nằm ngay phía trên của thẻ </body> ?>
4. Các hàm lấy dữ liệu trong Post (Bài viết).
Các hàm này thường được sử dụng trong các vòng lặp get post (Phần này mình sẽ giới thiệu trong bài tiếp theo) hay dùng trong file single.php... Có chức năng lấy thông tin của bài viết như: Tiêu đề bài viết, đường dẫn bài viết, ảnh đại diện, nội dung, tác giả, ngày post ...
- the_permalink() – Hiển thị thị đường dẫn của bài viết
- the_title() – Hiển thị tiêu đề của bài viết
- the_content() – Hiển thị nội dung chi tiết của bài viết
- the_excerpt() – Hiển thị nội dung mổ tả cho bài viết
- the_ID() – Hiển thị id của bài viết
- the_tags() – Hiển thị các thẻ của bài viết
- the_date() – Hiển thị ngày đăng bài viết
- the_category() – Hiển thị các chuyên mục của bài viết.
- the_author_posts_link() - Hiển thị tác giả của bài viết.
Các hàm này áp dụng cho bài viết đang truy vấn. Cách dùng bỏ các hàm này trong cặp thẻ php :D
5. Các hàm lấy dữ liệu của category (Chuyên mục)
Các hàm này thường được sử dụng trong các vòng lặp lấy dữ liệu chuyên mục (Mình giới thiệu sau nhé) và thường nằm trong các file.
- category_description() – Hiển thị mô tả của chuyên mục
- tag_description() – Hiển thị mô tả của thẻ (tag).
- get_queried_object_id() - Hiển thị ID chuyên mục hiện tại
- wp_dropdown_categories() – Hiển thị danh sách category với dạng dropdown.
- single_cat_title() – Hiển thị tên chuyên mục trong truy vấn.
- single_tag_title() – Hiển thị tên thẻ (tag) trong truy vấn.
- wp_tag_cloud() – Hiển thị mây thẻ.
6. Một số hàm điều kiện trong wordpress
- comments_open( $args )
- Kiểm tra chức năng bình luận của post hiện tại có đang được mở hay không.
- has_tag( $args )
- Kiểm tra post hiện tại có được đặt Tag hay không.
- has_term ( $args )
- Kiểm tra post hiện tại có chứa một term của bất kỳ taxonomy nào hay không. Ví dụ bạn có một category mang tên là ABC thì cái ACB đó chính là term của taxonomy tên Category.
- in_category( $args )
- Kiểm tra post hiện tại có nằm trong category nào hay không.
- is_404()
- Kiểm tra trang bạn đang truy cập có bị lỗi 404 hay không.
- is_admin()
- Kiểm tra bạn có đang truy cập vào trang quản trị của WordPress hay không.
- is_archive()
- Kiểm tra xem bạn có đang truy cập vào trang lưu trữ của bất kỳ một taxonomy nào hay không.
- is_attachment()
- Kiểm tra xem bạn có đang truy cập vào trang hiển thị tài liệu đính kèm trong post hay không (Media).
- is_author( $args )
- Kiểm tra bạn có đang xem trang lưu trữ của một tác giả nào đó hay không.
- is_child_theme()
- Kiểm tra nếu theme hiện tại đang sử dụng là child theme hay theme bình thường.
- is_comments_popup()
- Kiểm tra trang hiện tại đang truy cập có phải là trang popup của comment hay không.
- is_date()
- Kiểm tra trang đang truy cập có phải là trang lưu trữ dạng ngày tháng hay không.
- is_day()
- Kiểm tra xem trang bạn đang xem có phải là trang lưu trữ theo ngày hay không.
- is_feed()
- Kiểm tra xem đối tượng bạn đang xem có thuộc trang RSS Feed hay không.
- is_front_page()
- Kiểm tra xem trang hiện tại bạn đang xem có phải là trang chủ mà đã được thiết lập trong Settings -> Reading hay không.
- is_home()
- Kiểm tra xem trang hiện tại của bạn có là trang chủ hay không. Kết quả sẽ trả về là TRUE nếu bạn không thiết lập trang chủ trong Settings -> Reading hoặc bạn thiết lập một trang trở thành Post page trong Settings -> Reading.
- is_month()
- Kiểm tra xem trang đang xem có phải là trang lưu trữ theo háng hay không.
- is_multi_author()
- Kiểm tra xem website đang truy cập có nhiều hơn 1 tác giả đăng bài hay không.
- is_multisite()
- Kiểm tra xem trang hiện tại có phải là WordPress Multisite hay không.
- is_main_site( $args )
- Kiểm tra xem trang hiện tại có phải là website chính trong mạng WordPress Multiste hay không.
- is_page( $args )
- Kiểm tra trang hiện tại có phải thuộc Page hay không.
- is_page_template( $args )
- Kiểm tra page hiện tại có dùng Page Template hay không.
- is_paged()
- Kiểm tra xem trang hiện tại có được phân trang hay không. Không áp dụng cho Post và Page.
- is_preview()
- Kiểm tra xem trang bạn đang xem có phải là trang xem thử bài viết ở chế độ viết nháp hay không.
- is_rtl()
- Kiểm tra ngôn ngữ đang sử dụng cho website có thuộc danh sách các quốc gia sử dụng bố cục đọc từ phải trang trái hay không. Ví dụ như tiếng Ả Rập sẽ đọc từ phải sang trái.
- is_search()
- Kiểm tra trang đang xem có phải là trang hiển thị kết quả tìm kiếm hay không.
- is_single( $args )
- Kiểm tra xem trang hiện tại có phải là trang hiển thị chi tiết nội dung của bất kỳ post type nào hay không. Chỉ áp dụng cho các post type có tham số Hierarchical là True, tức là giống Post.
- is_singular( $args )
- Kiểm tra xem trang hiện tại có phải là trang hiển thị chi tiết nội dung của bất kỳ post type nào hay không, nó giống như is_single() nhưng áp dụng cho toàn bộ loại post type và nó cũng sẽ trả kết quả là TRUE nếu như is_single(), is_page() và is_attachment() trả kết quả về là TRUE.
- is_sticky( $args )
- Kiểm tra xem post đang xem có đang được đánh dấu vào nút Sticky hay không.
- is_super_admin( $args )
- Kiểm tra thành viên đang truy cập có phải là Super Admin hay không.
- is_tag( $args )
- Kiểm tra xem trang hiện tại có phải là trang hiển thị danh sách bài viết của một tag nào đó không.
- is_tax( $args )
- Trả về TRUE nếu trang hiện tại là trang hiển thị danh sách bài viết của một taxonomy nào đó.
- username_exists( $args )
- Kiểm tra sự tồn tại của một username.
- is_taxonomy_hierarchical( $args )
- Kiểm tra một taxonomy nào đó có được bật tính năng hierarchical hay không.
- is plugin active( $args )
- Trả về TRUE nếu một plugin nào đó được kích hoạt.
- in_the_loop()
- Kiểm tra đối tượng hiện tại có đang nằm trong loop không.
- is_activate_sidebar( $args )
- Kiểm tra một sidebar nào đó có đang được sử dụng hay không.
- is_activate_widget( $args )
- Kiểm tra một widget nào đó có đang được sử dụng (đưa vào sidebar) không.
- is_dynamic_sidebar()
- Kiểm tra sidebar xem nó đã được thêm widget chưa.
- is_user_logged_in()
- Kiểm tra người đang xem có phải là thành viên đã đăng nhập hay không.
- wp_is_mobile()
- Kiểm tra thiết bị đang truy cập có phải là điện thoại di động hay không.
Tóm lại:
Trên đây là những hàm cơn bản của wordpress mà bạn cần phải biết và biết cách sử dụng. Trong suốt quá trình lập trình theme chúng ta sẽ sử dụng các hàm này rất nhiều. Bài sau chúng ta sẽ tìm hiểu các hàm vòng lặp get post, đây là trái tim của wordpress. :)
Chúc các bạn học wordpress thành công!
Võ Quang Huy (Huy Kira)
Đam mê hóa học, ưng thi vào trường kinh tế... Đậu vào trường Sư phạm, quyết tâm đi dạy... Ra trường đi làm designer, tự học frontend, chuyển qua làm PHP, được công ty đào tạo laravel... Và hiện tại đang code react native(2015) => Fullstack ... ?? tối về viết blog... (Còn tiếp...)