WordPress là một nền tảng cực kỳ linh hoạt, cho phép bạn tùy chỉnh và mở rộng chức năng của trang web thông qua việc sử dụng các code snippets (mã lệnh nhỏ). Dưới đây là một số code snippets hữu ích dành cho WordPress mà bạn có thể sử dụng để tối ưu hóa trang web của mình.
1. Tắt Phiên Bản WordPress
Khi bạn sử dụng WordPress, phiên bản của hệ thống thường được hiển thị trên trang nguồn của bạn. Điều này có thể tạo ra nguy cơ bảo mật. Để tắt việc hiển thị phiên bản WordPress, bạn có thể sử dụng snippet sau:
// Tắt phiên bản WordPress
remove_action('wp_head', 'wp_generator');
Thêm đoạn mã này vào file functions.php
của giao diện bạn đang sử dụng. Điều này sẽ giúp bảo mật trang web của bạn hơn bằng cách không tiết lộ phiên bản WordPress đang chạy.
2. Thay Đổi Đường Dẫn Đăng Nhập
Để tăng cường bảo mật, bạn có thể thay đổi đường dẫn đăng nhập mặc định (wp-login.php
) bằng cách sử dụng plugin hoặc thêm đoạn mã sau vào file functions.php
:
// Thay đổi đường dẫn đăng nhập
function custom_login_url() {
return home_url('/my-login');
}
add_filter('login_headerurl', 'custom_login_url');
Thay thế '/my-login'
bằng đường dẫn mà bạn muốn sử dụng cho trang đăng nhập của mình.
3. Tự Động Xóa Các Bản Nháp Cũ
WordPress tự động lưu các bản nháp của bài viết và trang. Để tránh việc lưu trữ quá nhiều bản nháp không cần thiết, bạn có thể sử dụng đoạn mã sau để xóa các bản nháp cũ:
// Xóa các bản nháp cũ
function delete_old_drafts() {
global $wpdb;
$wpdb->query(
"DELETE FROM $wpdb->posts WHERE post_status = 'draft' AND post_date < NOW() - INTERVAL 30 DAY"
);
}
add_action('wp_scheduled_delete', 'delete_old_drafts');
4. Tăng Giới Hạn Upload File
Nếu bạn cần tải lên các file lớn hơn kích thước mặc định, hãy sử dụng đoạn mã sau để tăng giới hạn upload:
// Tăng giới hạn upload file
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');
@ini_set('max_execution_time', '300');
5. Tắt Giao Diện Dashboard Cho Người Dùng Không Quản Trị
Nếu bạn không muốn người dùng khác thấy giao diện dashboard khi đăng nhập, có thể sử dụng snippet sau:
// Tắt giao diện dashboard cho người dùng không quản trị
function redirect_non_admin_users() {
if (!current_user_can('manage_options') && is_admin()) {
wp_redirect(home_url());
exit;
}
}
add_action('admin_init', 'redirect_non_admin_users');
6. Hiển Thị Thông Báo Trước Khi Xóa Bình Luận
Để tránh việc xóa bình luận một cách ngẫu nhiên, bạn có thể thêm thông báo xác nhận khi xóa bình luận:
// Thông báo xác nhận khi xóa bình luận
function confirm_comment_delete() {
echo '<script>
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll(".submitdelete").forEach(function(button) {
button.addEventListener("click", function(event) {
if (!confirm("Bạn có chắc chắn muốn xóa bình luận này không?")) {
event.preventDefault();
}
});
});
});
</script>';
}
add_action('admin_footer', 'confirm_comment_delete');
7. Thay Đổi Tên Nhóm Người Dùng Mặc Định
Nếu bạn muốn thay đổi tên của nhóm người dùng mặc định trong hệ thống WordPress, có thể sử dụng đoạn mã sau:
// Thay đổi tên nhóm người dùng mặc định
function change_default_role_name($role) {
return str_replace('Subscriber', 'Đọc giả', $role);
}
add_filter('editable_roles', 'change_default_role_name');
Thay thế 'Subscriber'
và 'Đọc giả'
bằng tên nhóm người dùng và tên mới mà bạn muốn sử dụng.
8. Thay Đổi Logo Đăng Nhập
Để cá nhân hóa trang đăng nhập của bạn, bạn có thể thay đổi logo mặc định bằng cách sử dụng đoạn mã sau:
// Thay đổi logo đăng nhập
function custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image: url(' . get_stylesheet_directory_uri() . '/images/custom-login-logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_login_logo');
Thay thế '/images/custom-login-logo.png'
bằng đường dẫn đến hình ảnh logo của bạn.
9. Hiển Thị Các Trường Tùy Chỉnh Trong Biểu Mẫu Đăng Ký
Để thêm các trường tùy chỉnh vào biểu mẫu đăng ký, bạn có thể sử dụng đoạn mã sau:
// Thêm trường tùy chỉnh vào biểu mẫu đăng ký
function custom_registration_fields() {
?>
<p>
<label for="phone"><?php _e('Số điện thoại'); ?><br />
<input type="text" name="phone" id="phone" class="input" value="<?php if (!empty($_POST['phone'])) esc_attr_e($_POST['phone']); ?>" size="25" /></label>
</p>
<?php
}
add_action('register_form', 'custom_registration_fields');
function custom_registration_save($user_id) {
if (isset($_POST['phone'])) {
update_user_meta($user_id, 'phone', sanitize_text_field($_POST['phone']));
}
}
add_action('user_register', 'custom_registration_save');
10. Tạo Breadcrumbs Cho Website
Breadcrumbs giúp người dùng dễ dàng điều hướng trang web của bạn. Dưới đây là cách thêm breadcrumbs vào WordPress:
// Thêm Breadcrumbs
function custom_breadcrumbs() {
if (!is_front_page()) {
echo '<a href="' . home_url() . '">Trang chủ</a> » ';
if (is_category() || is_single()) {
the_category(' » ');
if (is_single()) {
echo ' » ';
the_title();
}
} elseif (is_page()) {
echo the_title();
}
}
}
Sử dụng đoạn mã này trong template của bạn để hiển thị breadcrumbs.
Kết Luận
Việc sử dụng các code snippets này giúp bạn dễ dàng tùy chỉnh và tối ưu hóa trang web WordPress của mình. Hãy chắc chắn sao lưu trang web của bạn trước khi thêm bất kỳ mã lệnh nào và kiểm tra kỹ lưỡng sau khi thực hiện thay đổi để đảm bảo mọi thứ hoạt động như mong muốn.
Kết nối với web designer Lê Thành Nam