Bạn là người mới bắt đầu với WordPress và đang tìm kiếm những đoạn mã hữu ích để cải thiện website của mình? Bài viết này sẽ giới thiệu với bạn 7 đoạn mã WordPress mà bạn có thể sử dụng để tùy chỉnh và nâng cao hiệu suất của website. Từ việc tối ưu hóa tốc độ trang web đến tăng cường bảo mật, những đoạn mã này sẽ giúp bạn biến website của mình thành một công cụ hiệu quả và chuyên nghiệp hơn.
1. Đoạn mã tối ưu hóa tốc độ trang web
Tốc độ tải trang là một yếu tố quan trọng ảnh hưởng trực tiếp đến trải nghiệm người dùng và thứ hạng của website trên công cụ tìm kiếm. Dưới đây là một số đoạn mã WordPress giúp tối ưu hóa tốc độ tải trang:
1.1. Nén hình ảnh
add_filter( 'jpeg_quality', function($arg){return 80;});
add_filter('wp_editor_set_quality', function ($arg) {return 80;});
Đoạn mã trên sẽ giúp nén ảnh với chất lượng 80%, giảm đáng kể kích thước file ảnh mà không ảnh hưởng nhiều đến chất lượng hình ảnh.
1.2. Lazy Load hình ảnh
function my_theme_setup() {
add_filter( 'wp_lazy_loading_enabled', '__return_true' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );
Lazy Load là kỹ thuật chỉ tải hình ảnh khi người dùng cần, giúp giảm tải ban đầu và cải thiện tốc độ trang web.
1.3. Minify HTML, CSS, JavaScript
add_filter('rocket_buffer', 'minify_html');
function minify_html($html) {
$html = preg_replace('/<!--(.|\s)*?-->/', '', $html);
$html = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $html);
return $html;
}
Đoạn mã trên sẽ minify HTML, CSS và JavaScript, loại bỏ các khoảng trắng và comment không cần thiết, giúp giảm kích thước file và cải thiện tốc độ tải trang.
1.4. Kích hoạt caching
// Kích hoạt caching trang
add_action('init', 'enable_page_caching');
function enable_page_caching() {
if (!is_admin()) {
nocache_headers();
header("Cache-Control: max-age=3600, public, s-maxage=86400");
}
}
Việc kích hoạt caching sẽ giúp trang web tải nhanh hơn, đặc biệt là với các nội dung không thường xuyên thay đổi.
1.5. Tải trước các tệp JS và CSS
function preload_assets() {
echo '<link rel="preload" href="' . get_stylesheet_directory_uri() . '/style.css" as="style">';
echo '<link rel="preload" href="' . includes_url() . 'js/jquery/jquery.js" as="script">';
}
add_action('wp_head', 'preload_assets');
Đoạn mã trên sẽ tải trước các tệp CSS và JavaScript chính, giúp trải nghiệm trang web nhanh hơn.
2. Đoạn mã tăng cường bảo mật
Bảo mật là một trong những vấn đề quan trọng nhất khi vận hành một website WordPress. Dưới đây là một số đoạn mã giúp tăng cường bảo mật cho website của bạn:
2.1. Thay đổi URL đăng nhập mặc định
// Thay đổi URL đăng nhập mặc định
add_filter('login_url', 'custom_login_url');
function custom_login_url($login_url) {
return home_url('/dang-nhap/');
}
Thay đổi URL đăng nhập mặc định giúp tăng cường bảo mật, tránh các cuộc tấn công brute force.
2.2. Ẩn version WordPress
// Ẩn version WordPress
remove_action('wp_head', 'wp_generator');
Ẩn version WordPress sẽ làm cho website của bạn ít bị các cuộc tấn công nhắm đến hơn.
2.3. Bảo mật file .htaccess
# Bảo mật file .htaccess
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
Đoạn mã trên sẽ bảo vệ file .htaccess khỏi bị truy cập trái phép.
2.4. Hạn chế số lần đăng nhập sai
// Hạn chế số lần đăng nhập sai
function limit_login_attempts($username, $password) {
if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'limit-login' ) ) {
return;
}
$ip = $_SERVER['REMOTE_ADDR'];
$login_attempts = get_transient( 'failed_login_attempts_' . $ip );
if ( $login_attempts ) {
if ( $login_attempts >= 5 ) {
return new WP_Error('too_many_retries', __('<strong>ERROR</strong>: Too many failed login attempts.'));
}
} else {
$login_attempts = 0;
}
$login_attempts++;
set_transient( 'failed_login_attempts_' . $ip, $login_attempts, 5 * MINUTE_IN_SECONDS );
}
add_filter('authenticate', 'limit_login_attempts', 30, 2);
Đoạn mã trên sẽ hạn chế số lần đăng nhập sai, giúp bảo vệ website khỏi các cuộc tấn công brute force.
2.5. Ẩn thông tin nhạy cảm
// Ẩn thông tin nhạy cảm
function hide_sensitive_information($content) {
$content = str_replace(get_bloginfo('admin_email'), '[email protected]', $content);
$content = str_replace(get_option('admin_email'), '[email protected]', $content);
$content = str_replace(get_option('siteurl'), 'https://example.com', $content);
$content = str_replace(get_option('home'), 'https://example.com', $content);
return $content;
}
add_filter('the_content', 'hide_sensitive_information');
Đoạn mã trên sẽ ẩn các thông tin nhạy cảm như email admin, URL trang web, v.v. trên website, tăng cường bảo mật.
3. Đoạn mã tùy chỉnh giao diện
Ngoài việc tối ưu hóa tốc độ và bảo mật, bạn cũng có thể sử dụng các đoạn mã WordPress để tùy chỉnh giao diện của website.
3.1. Thay đổi logo đăng nhập
// Thay đổi logo đăng nhập
function my_login_logo() {
?>
<style type="text/css">
# login h1 a, .login h1 a {
background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/custom-login-logo.png);
height: 80px;
width: 320px;
background-size: contain;
background-repeat: no-repeat;
padding-bottom: 30px;
}
</style>
<?php
}
add_action('login_enqueue_scripts', 'my_login_logo');
Đoạn mã trên sẽ cho phép bạn thay đổi logo đăng nhập mặc định của WordPress bằng logo riêng của website.
3.2. Thêm tiêu đề trang động
// Thêm tiêu đề trang động
function dynamic_page_title($title) {
if (is_home()) {
$title = get_bloginfo('name');
} elseif (is_singular('post')) {
$title = get_the_title() . ' | ' . get_bloginfo('name');
} elseif (is_page()) {
$title = get_the_title() . ' | ' . get_bloginfo('name');
} elseif (is_category()) {
$title = single_cat_title('', false) . ' | ' . get_bloginfo('name');
} elseif (is_tag()) {
$title = single_tag_title('', false) . ' | ' . get_bloginfo('name');
} elseif (is_search()) {
$title = 'Kết quả tìm kiếm | ' . get_bloginfo('name');
} elseif (is_404()) {
$title = 'Lỗi 404 | ' . get_bloginfo('name');
}
return $title;
}
add_filter('wp_title', 'dynamic_page_title');
Đoạn mã trên sẽ tạo ra một tiêu đề trang động, tùy thuộc vào loại trang (trang chủ, bài viết, trang, danh mục, thẻ, tìm kiếm, 404, v.v.).
3.3. Thêm ảnh nền cho trang đăng nhập
// Thêm ảnh nền cho trang đăng nhập
function my_login_background() {
?>
<style type="text/css">
body.login {
background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/custom-login-background.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
</style>
<?php
}
add_action('login_enqueue_scripts', 'my_login_background');
Đoạn mã trên sẽ cho phép bạn thêm một ảnh nền tùy chỉnh cho trang đăng nhập của website.
3.4. Thêm custom CSS
// Thêm custom CSS
function add_custom_css() {
wp_enqueue_style('custom-css', get_stylesheet_directory_uri() . '/css/custom.css');
}
add_action('wp_enqueue_scripts', 'add_custom_css');
Đoạn mã trên sẽ cho phép bạn thêm các tùy chỉnh CSS riêng vào website.
3.5. Tùy chỉnh menu
// Tùy chỉnh menu
function register_my_menu() {
register_nav_menus(array(
'header-menu' => __('Header Menu'),
'footer-menu' => __('Footer Menu')
));
}
add_action('init', 'register_my_menu');
Đoạn mã trên sẽ cho phép bạn tạo và quản lý các menu header và footer tùy chỉnh.
4. Đoạn mã quản lý nội dung
Ngoài việc tùy chỉnh giao diện, bạn cũng có thể sử dụng các đoạn mã WordPress để quản lý nội dung website một cách hiệu quả hơn.
4.1. Thêm tùy chỉnh metabox
// Thêm tùy chỉnh metabox
function add_custom_metabox() {
add_meta_box('my_custom_metabox', 'Thông tin bổ sung', 'display_custom_metabox', 'post', 'side', 'default');
}
add_action('add_meta_boxes', 'add_custom_metabox');
function display_custom_metabox($post) {
$custom_field_value = get_post_meta($post->ID, 'custom_field', true);
?>
<label for="custom_field">Trường tùy chỉnh:</label>
<input type="text" id="custom_field" name="custom_field" value="<?php echo esc_attr($custom_field_value); ?>" />
<?php
}
function save_custom_metabox($post_id) {
if (array_key_exists('custom_field', $_POST)) {
update_post_meta($post_id, 'custom_field', $_POST['custom_field']);
}
}
add_action('save_post', 'save_custom_metabox');
Đoạn mã trên sẽ thêm một metabox tùy chỉnh vào trang/bài viết, giúp bạn lưu trữ và hiển thị các thông tin bổ sung.
4.2. Thêm tùy chỉnh post type
// Thêm tùy chỉnh post type
function create_custom_post_type() {
$labels = array(
'name' => 'Sản phẩm',
'singular_name' => 'Sản phẩm',
'menu_name' => 'Sản phẩm',
'name_admin_bar' => 'Sản phẩm',
'add_new' => 'Thêm mới',
'add_new_item' => 'Thêm sản phẩm mới',
'new_item' => 'Sản phẩm mới',
'edit_item' => 'Chỉnh sửa sản phẩm',
'view_item' => 'Xem sản phẩm',
'all_items' => 'Tất cả sản phẩm',
'search_items' => 'Tìm kiếm sản phẩm',
'not_found' => 'Không tìm thấy',
'not_found_in_trash' => 'Không tìm thấy trong thùng rác'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'product'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
'menu_icon' => 'dashicons-cart'
);
register_post_type('product', $args);
}
add_action('init', 'create_custom_post_type');
Đoạn mã trên sẽ tạo ra một loại bài viết tùy chỉnh mới có tên là “Sản phẩm”, giúp bạn quản lý thông tin về các sản phẩm trên website.
4.3. Thêm tùy chỉnh taxonomy
// Thêm tùy chỉnh taxonomy
function create_custom_taxonomy() {
$labels = array(
'name' => 'Danh mục sản phẩm',
'singular_name' => 'Danh mục sản phẩm',
'search_items' => 'Tìm kiếm danh mục',
'all_items' => 'Tất cả danh mục',
'parent_item' => 'Danh mục cha',
'parent_item_colon' => 'Danh mục cha:',
'edit_item' => 'Chỉnh sửa danh mục',
'update_item' => 'Cập nhật danh mục',
'add_new_item' => 'Thêm danh mục mới',
'new_item_name' => 'Tên danh mục mới',
'menu_name' => 'Danh mục sản phẩm'
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'product-category')
);
register_taxonomy('product_category', array('product'), $args);
}
add_action('init', 'create_custom_taxonomy');
Đoạn mã trên sẽ tạo ra một taxonomy tùy chỉnh có tên là “Danh mục sản phẩm” để phân loại các sản phẩm theo danh mục.
4.4. Hiển thị số lượt xem của bài viết
// Hiển thị số lượt xem của bài viết
function get_post_views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count . ' Views';
}
function set_post_views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if ($count == '') {
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
} else {
$count++;
update_post_meta($postID, $count_key, $count);
}
}
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Đoạn mã trên sẽ cho phép bạn hiển thị số lượt xem của bài viết và cập nhật số lượt xem mỗi khi bài viết được xem.
4.5. Tạo shortcode
// Tạo shortcode
function custom_shortcode($atts) {
$atts = shortcode_atts(array(
'param1' => 'default value',
'param2' => 'default value'
), $atts);
return 'Parameter 1: ' . $atts['param1'] . ', Parameter 2: ' . $atts['param2'];
}
add_shortcode('custom_shortcode', 'custom_shortcode');
Đoạn mã trên sẽ tạo ra một shortcode tùy chỉnh có tên là [custom_shortcode]
, cho phép bạn truyền vào các tham số và hiển thị chúng theo cách bạn muốn.
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về cách sử dụng đoạn mã PHP trong WordPress để tùy chỉnh giao diện và quản lý nội dung của website. Việc biết cách sử dụng mã PHP sẽ giúp bạn tùy chỉnh và mở rộng tính năng của website WordPress một cách linh hoạt và hiệu quả. Hy vọng rằng những thông tin này sẽ hữu ích cho bạn trong quá trình phát triển website của mình. Nếu có bất kỳ câu hỏi hoặc ý kiến đóng góp nào, hãy để lại bình luận phía dưới. Chúc bạn thành công!
nếu thích bài viết này, vui lòng đăng ký Kênh Facebook của chúng tôi và xem thêm 1 số Plugin chất lượng và nhiều mẫu theme đẹp nhất của chúng tôi trên Đầu Hẻm nhé