Thêm class first/last vào menu WordPress

2 tháng ago, WordPress Themes, 1 Views
Thêm class first/last vào menu WordPress

Giới thiệu về Class “First” và “Last” trong Menu WordPress

Trong quá trình phát triển website WordPress, việc tùy chỉnh menu điều hướng là một yếu tố quan trọng để cải thiện trải nghiệm người dùng và thẩm mỹ của trang web. Một trong những kỹ thuật hữu ích là thêm class “first” và “last” vào các mục menu đầu tiên và cuối cùng. Điều này cho phép bạn áp dụng các kiểu dáng (CSS) riêng biệt cho các mục này, tạo ra các hiệu ứng đặc biệt hoặc đơn giản là làm nổi bật chúng.

Bài viết này sẽ hướng dẫn bạn cách thêm class “first” và “last” vào menu WordPress một cách dễ dàng, sử dụng cả phương pháp thủ công và plugin.

Tại sao cần thêm Class “First” và “Last”?

Việc thêm class “first” và “last” vào menu mang lại nhiều lợi ích:

  • Tùy chỉnh giao diện: Cho phép bạn áp dụng CSS riêng biệt cho mục menu đầu tiên và cuối cùng, tạo ra các hiệu ứng độc đáo như bo tròn góc, thêm đường viền, thay đổi màu sắc, hoặc tạo hiệu ứng hover khác biệt.
  • Cải thiện khả năng sử dụng: Làm nổi bật các mục quan trọng, giúp người dùng dễ dàng định hướng và tìm kiếm thông tin hơn. Ví dụ, bạn có thể làm nổi bật mục “Trang chủ” hoặc “Liên hệ”.
  • Tương thích responsive: Sử dụng CSS để điều chỉnh hiển thị của các mục menu đầu tiên và cuối cùng trên các thiết bị khác nhau, đảm bảo trải nghiệm người dùng tốt trên mọi kích thước màn hình.
  • Dễ dàng quản lý CSS: Thay vì phải sử dụng các bộ chọn CSS phức tạp, việc có sẵn class “first” và “last” giúp bạn viết CSS dễ dàng hơn và dễ bảo trì hơn.

Phương pháp 1: Thêm Class “First” và “Last” Thủ Công

Đây là phương pháp sử dụng code để can thiệp vào quá trình tạo menu của WordPress. Nó đòi hỏi bạn phải chỉnh sửa file functions.php của theme đang sử dụng. Hãy cẩn thận khi chỉnh sửa file này, vì một lỗi nhỏ có thể gây ra sự cố cho website của bạn. Luôn sao lưu file functions.php trước khi thực hiện bất kỳ thay đổi nào.

Bước 1: Truy cập File functions.php

Có hai cách để truy cập file functions.php:

  1. Sử dụng trình chỉnh sửa theme trong WordPress: Truy cập Giao diện > Chỉnh sửa giao diện. Tìm file functions.php ở danh sách bên phải.
  2. Sử dụng FTP: Kết nối đến server của bạn bằng FTP client (ví dụ: FileZilla). Điều hướng đến thư mục theme của bạn (thường là /wp-content/themes/tên-theme-của-bạn/) và tìm file functions.php.

Bước 2: Thêm Code vào File functions.php

Thêm đoạn code sau vào cuối file functions.php:

function add_first_and_last_menu_class( $items ) {
  $items[1]->classes[] = 'first';
  $items[count($items)]->classes[] = 'last';
  return $items;
}
add_filter( 'wp_nav_menu_objects', 'add_first_and_last_menu_class' );

Đoạn code này sử dụng filter wp_nav_menu_objects để can thiệp vào quá trình tạo menu. Nó gán class “first” cho mục menu đầu tiên và class “last” cho mục menu cuối cùng.

Lưu ý quan trọng: Đoạn code trên hoạt động dựa trên giả định rằng các mục menu được đánh số từ 1 đến n. Trong một số trường hợp, điều này có thể không đúng, đặc biệt nếu bạn sử dụng menu con. Một cách tiếp cận tốt hơn là sử dụng vòng lặp để xác định mục đầu tiên và cuối cùng một cách chính xác.

function add_first_and_last_menu_class( $items ) {
    $first = true;
    $last_key = count($items) - 1;

    foreach ( $items as $key => $item ) {
        if ( $first ) {
            $item->classes[] = 'first';
            $first = false;
        }

        if ( $key == $last_key ) {
            $item->classes[] = 'last';
        }
    }

    return $items;
}
add_filter( 'wp_nav_menu_objects', 'add_first_and_last_menu_class' );

Đoạn code này sử dụng một vòng lặp foreach để duyệt qua tất cả các mục menu. Biến $first được sử dụng để theo dõi mục đầu tiên. Khi gặp mục đầu tiên, class “first” sẽ được gán và biến $first sẽ được đặt thành false. Mục cuối cùng được xác định bằng cách so sánh khóa hiện tại với $last_key.

Bước 3: Lưu File functions.php

Sau khi thêm code, hãy lưu file functions.php. Nếu bạn đang sử dụng trình chỉnh sửa theme trong WordPress, hãy nhấp vào nút “Cập nhật tập tin”. Nếu bạn đang sử dụng FTP, hãy tải file đã chỉnh sửa lên server, ghi đè lên file cũ.

Bước 4: Kiểm tra kết quả

Sau khi lưu file, hãy làm mới trang web của bạn và kiểm tra mã nguồn (bằng cách nhấp chuột phải và chọn “Xem nguồn trang”). Bạn sẽ thấy các mục menu đầu tiên và cuối cùng có thêm class “first” và “last”.

Phương pháp 2: Sử dụng Plugin

Nếu bạn không muốn chỉnh sửa file functions.php, bạn có thể sử dụng plugin để thêm class “first” và “last” vào menu. Có rất nhiều plugin miễn phí và trả phí có thể giúp bạn thực hiện việc này. Một số plugin phổ biến bao gồm:

  • Menu Swapper
  • Custom Menu Class
  • Nav Menu Roles

Các plugin này thường cung cấp giao diện trực quan để bạn dễ dàng tùy chỉnh menu và thêm class “first” và “last” mà không cần phải viết code.

Hướng dẫn sử dụng plugin (ví dụ: Custom Menu Class)

  1. Cài đặt và kích hoạt plugin: Tìm kiếm “Custom Menu Class” trong kho plugin của WordPress và cài đặt và kích hoạt nó.
  2. Truy cập menu: Truy cập Giao diện > Menu.
  3. Thêm class: Trong mỗi mục menu, bạn sẽ thấy một trường “CSS Classes (optional)”. Bạn có thể nhập “first” hoặc “last” vào trường này cho các mục tương ứng.
  4. Lưu menu: Nhấp vào nút “Lưu menu”.

Plugin này cung cấp sự linh hoạt hơn so với phương pháp thủ công, vì bạn có thể dễ dàng thêm class vào bất kỳ mục menu nào, không chỉ mục đầu tiên và cuối cùng.

Ví dụ về CSS

Sau khi thêm class “first” và “last” vào menu, bạn có thể sử dụng CSS để tùy chỉnh giao diện của chúng. Ví dụ:

.menu li.first a {
    background-color: #f00; /* Màu đỏ */
    color: #fff; /* Màu trắng */
  }

  .menu li.last a {
    border-right: none; /* Loại bỏ đường viền bên phải */
  }
  

Đoạn CSS này sẽ làm cho mục menu đầu tiên có nền màu đỏ và chữ màu trắng, và loại bỏ đường viền bên phải của mục menu cuối cùng.

Bạn có thể tùy chỉnh CSS theo ý muốn để tạo ra các hiệu ứng độc đáo cho website của bạn.

Kết luận

Việc thêm class “first” và “last” vào menu WordPress là một kỹ thuật đơn giản nhưng hiệu quả để tùy chỉnh giao diện và cải thiện trải nghiệm người dùng. Bạn có thể sử dụng phương pháp thủ công bằng cách chỉnh sửa file functions.php hoặc sử dụng plugin để thực hiện việc này một cách dễ dàng. Hãy thử nghiệm và khám phá những khả năng tùy chỉnh mà các class này mang lại.