File functions.php trong WordPress nằm ở đâu và có chức năng gì?
Bắt buộc khi tạo theme WordPress sẽ có các file bắt buộc là: style.css, functions.php, index.php tuỳ theo cấu trúc mỗi theme nhưng đây là 3 file bắt buộc phải có.
Ngoài ra cấu trúc theme WordPress còn có các file với chức năng tương ứng như list dưới đây.
Nhớ thay ngoinhaweb.vn thành tên miền của bạn, và bạn cũng lưu ý tuỳ theo panel quản lý website trên hosting mà sẽ có vị trí lưu trữ website khác nhau.
Theo đường dẫn ở trên bạn sẽ dễ dàng thấy được file
Ở trên là 1 số hàm thông dụng khi tạo theme WordPress, nếu bạn muốn thêm code các tính năng khác bạn có thể truy cập vào đây để xem CODE SNIPPETS khác.
Xin cảm ơn.
- index.php – Tệp mẫu chính hiển thị nội dung trang web của bạn.
- style.css – File khai báo theme như (tên theme, mô tả về theme và 1 số style css nếu người viết theme muốn thêm vào)
- header.php – Thông tin phần header của website
- footer.php – Thông tin phần footer của website
- single.php – Trang chi tiết bài viết – blog post
- page.php – Trang tĩnh
- archive.php – Hiển thị danh sách các bài đăng từ category hoặc tag
- search.php – Hiển thị danh sách các bài viết khi search
- 404.php – Hiển thị thông tin nếu web bị lỗi không tìm thấy
- functions.php – File chứa tất cả các chức năng và tính năng tùy chỉnh của theme
I. File functions.php nằm ở đâu?
Filefunctions.php
là 1 file quan trọng trong theme và bạn dễ dàng tìm thấy nó theo 1 trong 2 cách sau.
Cách 1: Đăng nhập vào website WordPress của bạn, vào phần Dashboard wp-admin bạn rê chuột vào phần Giao diện > Theme File Editor
Khi click vào Theme File Editor bạn sẽ thấy bên tay phải sẽ có 1 file functions.php
đó chính là file functions.php bạn cần tìm đấy.
Cách 2: Đăng nhập vào tài khoản FTP hoặc Hosting > Vào thư mục chứa website và đi theo đường dẫn.
1 |
/home/ngoinhaweb.vn/public_html/wp-content/themes/ten-theme-ban-dang-dung |
functions.php
Bạn dễ dàng tìm được file functions.php
theo 1 trong 2 cách trên, nếu bạn muốn thêm tính năng mới cho website thì có thể thêm code vào file functions.php
và lưu lại.
II. Code thông dụng trong file chức năng – functions.php WordPress
1. Khai báo css và js cho theme
1 2 3 4 5 6 7 8 9 10 11 |
// Register Style function ngoinhaweb_theme_assets() { wp_register_style( 'main_style', 'assets/css/styles.css', false, false ); wp_enqueue_style( 'main_style' ); wp_register_style( 'bootstrap-css', 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', false, false ); wp_enqueue_style( 'bootstrap-css' ); } add_action( 'wp_enqueue_scripts', 'theme_assets' ); |
2.
1 2 3 4 5 6 7 8 9 10 |
// Register Navigation Menus function ngoinhaweb_custom_navigation_menus() { $locations = array( 'main-menu' => __( 'Menu chinh', 'text_domain' ), ); register_nav_menus( $locations ); } add_action( 'init', 'custom_navigation_menus' ); |
3. 3. Code thông báo bảo trì
1 2 3 4 5 6 7 |
function ngoinhaweb_wp_maintenance_mode(){ if(!current_user_can('edit_themes') || !is_user_logged_in()){ wp_die('<h1 style="color:red">Website đang được bảo trì định kỳ</h1><br /> Vui lòng quay lại trong ít phút nữa!'); } } add_action('get_header', 'ngoinhaweb_wp_maintenance_mode'); |
4. 4. Custom size ảnh cho WordPress
1 2 3 |
add_theme_support( 'post-thumbnails' ); add_image_size( 'supermarket-category-image', 380, 220, true ); add_image_size( 'supermarket-grid-product-image', 400, 480, true ); |
5. 5. Làm sạch file ảnh khi upload
Nếu tên file ảnh chứa các ký tự đặc biệt sẽ bị loại bỏ, vd:Đây là file ảnh.png
sẽ được đổi thành day-la-file-anh.png
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/** * Add filters to sanitize filenames. */ function ngoinhaweb_sanitize_filenames( $filename ) { $sanitized_filename = sanitize_file_name( $filename ); return $sanitized_filename; } add_filter( 'sanitize_file_name', 'ngoinhaweb_sanitize_filenames', 10 ); /** * Add filters to sanitize filenames for all uploads. */ function ngoinhaweb_sanitize_all_filenames( $metadata, $id ) { if ( isset( $metadata['file'] ) ) { $metadata['file'] = ngoinhaweb_sanitize_filenames( $metadata['file'] ); } return $metadata; } add_filter( 'wp_generate_attachment_metadata', 'ngoinhaweb_sanitize_all_filenames', 10, 2 ); |
6. 6. Xóa bỏ code svg trong thẻ body từ WordPress 5.9
Xóa bỏ code svg trong thẻ body từ WordPress 5.9 thì bạn có thể xem chi tiết tại đây7. 7. Tắt XML PRC
Mặc định XML PRC bật, nhưng bạn nên tắt tính năng này đi vì nó không giúp ích mà còn gây hại cho website
1 |
add_filter('xmlrpc_enabled', '__return_false'); |
8. Function bật classic widget thay cho block widget
1 2 3 4 |
/* Classic widget *===============================================================*/ add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' ); add_filter( 'use_widgets_block_editor', '__return_false' ); |
9. Bật Classic Editor thay cho Gutenberg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/* Classic editor *===============================================================*/ add_filter('use_block_editor_for_post', '__return_false', 10); add_filter( 'use_widgets_blog_editor', '__return_false' ); add_action( 'wp_enqueue_scripts', function() { // Remove CSS on the front end. wp_dequeue_style( 'wp-block-library' ); // Remove Gutenberg theme. wp_dequeue_style( 'wp-block-library-theme' ); // Remove inline global CSS on the front end. wp_dequeue_style( 'global-styles' ); }, 20 ); |