Mặc định thanh Admin Bar màu đen của WordPress chỉ có một vài đối tượng bên trong nó như link trỏ đến Dashboard, quản lý bình luận, viết bài mới.

Tổng quan quy trình

Chúng ta sẽ có một hàm trung tâm để thao tác đè lên các đối tượng mặc định để thêm menu. Sau đó hàm này sẽ xử lý qua một action hook có tên là admin_bar_menu, đây là hook để xử lý mọi vấn đề liên quan tới Admin Bar.

Để thêm menu, ta sẽ sử dụng phương thức có tên là add_menu và trong phương thức này sẽ có một vài tham số rất dễ hiểu mà mình sẽ trình bày kỹ hơn ở phần dưới.

Bắt đầu công viêc

Đầu tiên chúng ta tiến hành tạo một function và một đoạn add_action như sau vào file function.php trong theme:


add_action('admin_bar_menu', 'custom_admin_bar');
function custom_admin_bar( $menu ) {
 
        // Viết code vào đây
         
} 

Tiếp theo, ta sử dụng tham số $menu thực thi phương thức add_menu với một vài tham số như sau:


$menu->add_menu( array(
        'id' => 'menu1',
        'title' => 'Menu 1',
        'href' => 'http://themescss.com',
        'meta' => array( 'title' => 'Menu 1' )
) );

Bạn có thể dễ dàng hiểu các tham số bên trong, và code đầy đủ ta có:


add_action('admin_bar_menu', 'custom_admin_bar');
function custom_admin_bar( $menu ) {
 
        $menu->add_menu( array(
                'id' => 'menu1',
                'title' => 'Menu 1',
                'href' => 'http://themescss.com',
                'meta' => array( 'title' => 'Menu 1' )
        ) );
 
} 

Chúng ta có kết quả như sau:

Coi như là ta đã có một cái menu bình thường. Nếu bạn muốn nó là một menu đổ xuống (dropdown menu) thì sao? Bạn có thể viết thêm một đoạn add_menu nữa và chứa tham số là ID của menu mẹ.


$menu->add_menu( array(
        'id' => 'submenu1',
        'parent' => 'menu1',
        'title' => 'Sub Menu 1',
        'href' => 'http://google.com',
        'meta' => array(
                'title' => 'Sub Menu 1',
                'target' => 'blank'
        )
) );

Trong đó, bạn ưu ý đến tham số parent, giá trị của nó là giá trị của tham số id của menu mà bạn muốn thêm sub cho nó. Giờ thì ta sẽ có:

Nếu bạn muốn di chuyển menu ra đằng cuối của Admin Bar thì thay:


add_action('admin_bar_menu', 'custom_admin_bar');

Thành


add_action('admin_bar_menu', 'custom_admin_bar', 100);

Cái số đằng sau là thứ tự thực thi của nó, số càng nhỏ thì sẽ được ưu tiên đứng trước.

Đây là toàn bộ code:


add_action('admin_bar_menu', 'custom_admin_bar');
function custom_admin_bar( $menu ) {
 
        $menu->add_menu( array(
                'id' => 'menu1',
                'title' => 'Menu 1',
                'href' => 'http://themescss.com',
                'meta' => array( 'title' => 'Menu 1' )
        ) );
        $menu->add_menu( array(
                'id' => 'submenu1',
                'parent' => 'menu1',
                'title' => 'Sub Menu 1',
                'href' => 'http://google.com',
                'meta' => array(
                        'title' => 'Sub Menu 1',
                        'target' => 'blank'
                )
        ) );
 
} 

Chúc các bạn thành công!

Recent posts

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tính năng tìm kiếm AI của Google có mặt tại Việt Nam

Tuần này, Google AI Overviews bắt đầu triển khai đến hơn 100 quốc gia, bao gồm Việt Nam và hỗ […]

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Apple trình làng bộ tính năng AI đầu tiên trên iPhone, iPad và Mac cao cấp

Giám đốc điều hành Apple Tim Cook chia sẻ Apple Intelligence không chỉ đơn thuần là AI tạo sinh, mà […]

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Apple phát hành iOS 18.1 đưa Apple Intelligence lên iPhone

Bản cập nhật iOS 18.1 được Apple phát hành ngày 28/10, đưa một số tính năng AI của Apple Intelligence […]

Apple sắp phát hành iOS 18.1

Apple sắp phát hành iOS 18.1

Dự kiến, iOS 18.1 sẽ chính thức được phát hành cho các mẫu iPhone tương thích vào tuần tới. Hiện, […]

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Xuất hiện thêm lỗi nghiêm trọng trên iPhone 16

Một số người dùng vừa nâng cấp lên iPhone 16 phản ánh rằng thiết bị của họ gặp phải tình […]

© 2021 Tạp Chí CNTT. Mr Hoang