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' => 'menu_tccntt',
        'title' => 'Tạp chí CNTT',
        'href' => 'https://tapchicntt.com',
        'meta' => array( 'title' => 'Tạp chí CNTT' )
) );

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' => 'menu_tccntt',
                'title' => 'Tạp chí CNTT',
                'href' => 'https://tapchicntt.com',
                'meta' => array( 'title' => 'Tạp chí CNTT' )
        ) );
        $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

Microsoft cảnh bảo một chiến dịch tấn công mạng nguy hiểm quy mô toàn cầu

Microsoft cảnh bảo một chiến dịch tấn công mạng nguy hiểm quy mô toàn cầu

Microsoft đã gióng lên hồi chuông cảnh báo về Lumma Stealer, một loại mã độc chuyên đánh cắp thông tin, […]

Google Chrome hiện có thể thay đổi mật khẩu yếu cho người dùng

Google Chrome hiện có thể thay đổi mật khẩu yếu cho người dùng

Một tính năng đột phá vừa được Google chính thức ra mắt trên trình quản lý mật khẩu tích hợp […]

Google cho dịch giọng nói trực tiếp trong cuộc gọi

Google cho dịch giọng nói trực tiếp trong cuộc gọi

Google bắt dầu triển khai tính năng dịch giọng nói trực tiếp trong cuộc gọi, khẳng định có thể khớp […]

iPhone sẽ bị ‘vứt xó’ trong những năm tới, nhường bước cho các công nghệ mới

iPhone sẽ bị ‘vứt xó’ trong những năm tới, nhường bước cho các công nghệ mới

Những chiếc iPhone đã sống đủ lâu với ngôi vị quán quân di động, đã đến lúc sẽ có công […]

[WordPress] Hướng dẫn tạo Custom Action Hook trong WordPress

[WordPress] Hướng dẫn tạo Custom Action Hook trong WordPress

Tạo custom Action Hook trong WordPress là một kỹ năng rất hữu ích để tùy chỉnh và mở rộng chức […]

© 2021 Tạp Chí CNTT. Mr Hoang