Tùy Chỉnh functions.php – 10 Thủ Thuật Hay Giúp Website WordPress Linh Hoạt Hơn

Khám phá 10 thủ thuật tùy chỉnh file functions.php giúp bạn mở rộng chức năng, tối ưu tốc độ và bảo mật cho website WordPress hiệu quả mà không cần dùng plugin. <p>File<strong> functions.php</strong> là trái tim của theme WordPress, nơi bạn có thể thêm các đoạn mã giúp website hoạt động hiệu quả và tùy biến hơn.</p>

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ó. Dưới đây là 10 thủ thuật đơn giản nhưng cực kỳ hữu ích websitedanang để bạn tùy chỉnh functions.php một cách chuyên nghiệp.

1. Thêm Hỗ Trợ Ảnh Đại Diện (Featured Image)

php

add_theme_support('post-thumbnails');

<p>Ảnh đại diện (featured image) giúp bài viết hiển thị bắt mắt hơn khi người dùng truy cập trang blog, danh mục hoặc chia sẻ lên mạng xã hội. Nếu theme bạn đang dùng chưa hỗ trợ sẵn chức năng này, bạn chỉ cần thêm đoạn mã trên vào file <strong>function.php</strong>để kích hoạt.</p>

Lưu ý: Sau khi thêm đoạn mã, bạn có thể chọn ảnh đại diện cho mỗi bài viết tại trình chỉnh sửa bài viết trong WordPress.

2. Tùy Chỉnh Độ Dài Đoạn Trích (Excerpt Length)

php

function custom_excerpt_length($length) {
return 20; // Số từ muốn hiển thị
}
add_filter('excerpt_length', 'custom_excerpt_length');

Đoạn trích(excerpt)là phần nội dung ngắn gọn hiển thị bên ngoài bài viết, thường xuất hiện trên trang chủ, trang danh mục hoặc trong widget. Việc giới hạn độ dài đoạn trích giúp giao diện hiển thị gọn gàng, dễ đọc và chuyên nghiệp hơn.

3. Xóa Phiên Bản WordPress Khỏi Mã Nguồn

php

remove_action('wp_head', 'wp_generator');

<p>Mặc định, WordPress sẽ chèn một thẻ meta chứa phiên bản WordPress vào phần<code>&lt;head&gt;</code>của mã nguồn HTML. Điều này có thể khiến website dễ bị tấn công nếu hacker biết bạn đang dùng phiên bản cũ.</p> Việc xóa phiên bản WordPress khỏi mã nguồn giúp tăng cường bảo mật và giảm nguy cơ bị khai thác lỗi bảo mật từ các phiên bản đã lỗi thời.

4. Tắt Emojis Không Cần Thiết Để Tăng Tốc Website

php

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

<p>WordPress tự động chèn mã hỗ trợ hiển thị emoji vào mọi trang, kể cả khi bạn không sử dụng emoji trong nội dung. Điều này tạo thêm các yêu cầu HTTP không cần thiết và ảnh hưởng đến tốc độ tải trang.</p>

Bằng cách thêm đoạn mã trên vào file functions.php, bạn có thể loại bỏ hoàn toàn script emoji, từ đó giúp website nhẹ hơn, tải nhanh hơn và tối ưu điểm Google PageSpeed.

Lưu ý: Việc này chỉ tắt emoji từ WordPress, không ảnh hưởng đến emoji gốc của trình duyệt hoặc thiết bị người dùng.

5. Tắt Chức Năng XML-RPC Để Bảo Vệ Website

php

add_filter('xmlrpc_enabled', '__return_false');

<p>XML-RPC là giao thức cho phép website WordPress giao tiếp từ xa thông qua các ứng dụng bên ngoài như ứng dụng di động hoặc các dịch vụ đăng bài tự động. Tuy nhiên, nó cũng là mục tiêu phổ biến của các cuộc tấn công Brute Force và DDoS.</p>

Khi bạn không sử dụng chức năng đăng bài từ xa, việc tắt XML-RPC giúp giảm nguy cơ bị khai thác bảo mật, đồng thời tăng cường độ an toàn cho website. Nếu bạn cần tính năng kết nối từ xa nhưng vẫn muốn an toàn, hãy dùng plugin bảo mật cho phép kiểm soát hoặc giới hạn quyền truy cập XML-RPC thay vì tắt hoàn toàn.

6. Cho Phép Tải Lên Tệp SVG Trong WordPress

php

function allow_svg_upload($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'allow_svg_upload');

<p>Mặc định, WordPress không cho phép tải tệp SVG lên vì lý do bảo mật. Tuy nhiên, SVG là định dạng hình ảnh phổ biến trong thiết kế web hiện đại nhờ khả năng hiển thị sắc nét trên mọi kích thước và dung lượng nhẹ.</p>

Thêm đoạn mã này vào <code>functions.php</code>sẽ giúp bạn bật tính năng tải lên file SVG, từ đó mở rộng khả năng thiết kế và tối ưu hiển thị giao diện. SVG có thể chứa mã JavaScript độc hại nếu không được kiểm soát. Bạn nên chỉ tải lên các tệp SVG từ nguồn đáng tin cậy, hoặc sử dụng plugin hỗ trợ kiểm tra an toàn khi tải SVG.

7. Tự Động Xóa Tham Số Phiên Bản Khỏi URL JS & CSS

php

function remove_script_version($src) {
return remove_query_arg('ver', $src);
}
add_filter('script_loader_src', 'remove_script_version', 15, 1);
add_filter('style_loader_src', 'remove_script_version', 15, 1);

<p>Mặc định, WordPress sẽ gắn thêm tham số phiên bản vào URL của các tệp <strong>JS</strong> và <strong>CSS</strong>.Điều này giúp trình duyệt cập nhật file mới khi có thay đổi, nhưng lại khiến một số bộ nhớ đệm (cache) như CDN hoặc plugin cache không hoạt động hiệu quả.</p>

Khi bạn sử dụng đoạn mã trên, các URL tệp sẽ không còn tham số phiên bản, giúp trình duyệt lưu cache lâu hơn, từ đó tăng tốc độ tải trang và cải thiện điểm Google PageSpeed. Nếu bạn xóa phiên bản nhưng không quản lý tốt việc cập nhật file, người dùng có thể gặp lỗi do cache cũ chưa được xóa.

8. Ẩn Thanh Quản Trị Cho Người Dùng Không Phải Quản Trị Viên

php

if (!current_user_can('administrator')) {
add_filter('show_admin_bar', '__return_false');
}

<p>Thanh quản trị (admin bar) hiển thị phía trên cùng khi người dùng đăng nhập vào website WordPress. Tuy nhiên, với những vai trò như Cộng tác viên, Biên tập viên hoặc Thành viên, thanh này có thể gây rối và không cần thiết.</p>

Đoạn mã trên sẽ ẩn thanh quản trị đối với tất cả người dùng không phải quản trị viên, giúp giao diện người dùng sạch sẽ hơn, chuyên nghiệp hơn và giảm nhầm lẫn khi thao tác. Bạn có thể thay đổi quyền kiểm tra thành <code>editor</code>, <code>author</code>…nếu muốn cho phép vai trò cụ thể nào đó vẫn được thấy admin bar.

9. Bật Classic Widget Thay Cho Block Widget Mới

php

/* Classic widget
*===============================================================*/
add_filter('gutenberg_use_widgets_block_editor', '__return_false');
add_filter('use_widgets_block_editor', '__return_false');

<p>Kể từ phiên bản WordPress 5.8, hệ thống widget đã chuyển sang sử dụng trình chỉnh sửa dạng block (block-based widget editor), tương tự như Gutenberg. Tuy nhiên, nhiều người dùng và nhà phát triển vẫn ưa thích trình **Classic Widget** vì giao diện đơn giản, dễ dùng và dễ tùy chỉnh hơn.</p>

Thêm đoạn mã này vào file <code>functions.php</code>sẽ giúp bạn tắt hoàn toàn trình widget block và kích hoạt lại trình Classic Widget quen thuộc trong phần Giao diện > Widget. Nếu bạn sử dụng theme hoặc plugin cũ không tương thích tốt với widget block, việc quay lại classic widget là lựa chọn nên cân nhắc.

10. Thêm Menu Điều Hướng Tùy Chỉnh Cho Theme WordPress

php

Đăng ký menu điều hướng
function custom_navigation_menus() {
$locations = array(
'main-menu' => __( 'Menu Chính', 'text_domain' ),
);
register_nav_menus($locations);
}
add_action('init', 'custom_navigation_menus');

<p>Để theme WordPress hỗ trợ menu điều hướng tùy chỉnh (navigation menu), bạn cần đăng ký vị trí menu thông qua đoạn mã trên. Sau khi thêm vào functions.php, bạn có thể vào Giao diện → Menu để **tạo menu mới và gán vào vị trí “Menu Chính”** (main-menu).</p>

Việc đăng ký menu giúp bạn linh hoạt điều chỉnh bố cục và quản lý menu hiển thị ở nhiều vị trí khác nhau trên giao diện, như: menu đầu trang, menu chân trang, sidebar… Bạn có thể đăng ký nhiều vị trí menu khác nhau bằng cách mở rộng mảng <code>$locations</code>

Kết Luận Về Việc Tùy Chỉnh Functions.php

File functions.php không chỉ là nơi mở rộng chức năng cho theme WordPress mà còn là công cụ mạnh mẽ giúp bạn tối ưu hiệu suất, cải thiện trải nghiệm người dùng và tăng cường bảo mật website – tất cả mà không cần cài thêm plugin.

Với 10 thủ thuật đơn giản nhưng hữu ích ở trên, bạn đã có thể:

  • Bật hoặc tùy chỉnh các tính năng cần thiết như ảnh đại diện, excerpt, menu điều hướng…
  • Tối ưu tốc độ tải trang bằng cách xóa mã dư thừa, tắt emoji, quản lý cache tốt hơn.
  • Nâng cao bảo mật khi vô hiệu hóa các chức năng dễ bị tấn công như XML-RPC hoặc ẩn phiên bản WordPress.

 

Leave a Reply

Your email address will not be published. Required fields are marked *