Hiển thị múi giờ WordPress trên admin bar

2 ngày ago, WordPress Plugin, 1 Views
Hiển thị múi giờ WordPress trên admin bar

Hiển Thị Múi Giờ WordPress Trên Admin Bar: Hướng Dẫn Chi Tiết

Admin bar (thanh quản trị) của WordPress là một công cụ mạnh mẽ cho phép bạn truy cập nhanh chóng các chức năng quan trọng của trang web khi bạn đã đăng nhập. Việc hiển thị múi giờ hiện tại trực tiếp trên admin bar có thể hữu ích cho các quản trị viên, đặc biệt là những người quản lý nhiều trang web với các múi giờ khác nhau hoặc làm việc với các thành viên trong nhóm ở khắp nơi trên thế giới. Bài viết này sẽ hướng dẫn bạn cách hiển thị múi giờ WordPress trên admin bar, sử dụng plugin và code, đồng thời thảo luận về lợi ích của việc này.

Tại Sao Nên Hiển Thị Múi Giờ Trên Admin Bar?

Việc hiển thị múi giờ trên admin bar mang lại nhiều lợi ích thiết thực:

  • Tránh nhầm lẫn khi lên lịch: Khi lên lịch đăng bài viết, sự kiện hoặc bất kỳ hoạt động nào cần xác định thời gian, bạn có thể nhanh chóng xác định múi giờ đang sử dụng trên trang web để tránh nhầm lẫn và sai sót.
  • Thuận tiện cho quản lý đa múi giờ: Nếu bạn quản lý nhiều trang web có các múi giờ khác nhau, việc hiển thị múi giờ trên admin bar giúp bạn dễ dàng theo dõi và quản lý thời gian trên từng trang web.
  • Hỗ trợ làm việc nhóm: Nếu bạn làm việc với một nhóm phân tán trên toàn cầu, việc hiển thị múi giờ trên admin bar giúp mọi người dễ dàng đồng bộ hóa thời gian và tránh hiểu lầm trong giao tiếp.

Sử Dụng Plugin Để Hiển Thị Múi Giờ

Cách đơn giản nhất để hiển thị múi giờ WordPress trên admin bar là sử dụng plugin. Có nhiều plugin miễn phí và trả phí có sẵn để thực hiện công việc này. Dưới đây là một số lựa chọn phổ biến:

Plugin: “Admin Bar Timezone”

Plugin “Admin Bar Timezone” là một lựa chọn đơn giản và hiệu quả. Nó cho phép bạn hiển thị múi giờ hiện tại của trang web trực tiếp trên admin bar. Plugin này nhẹ, dễ sử dụng và không yêu cầu cấu hình phức tạp.

Cách cài đặt và sử dụng:

  1. Truy cập trang quản trị WordPress của bạn.
  2. Đi tới “Plugins” -> “Add New”.
  3. Tìm kiếm “Admin Bar Timezone”.
  4. Cài đặt và kích hoạt plugin.
  5. Sau khi kích hoạt, múi giờ của trang web sẽ tự động hiển thị trên admin bar.

Plugin: “WP Timezone Admin Bar”

Tương tự như plugin trên, “WP Timezone Admin Bar” cũng là một lựa chọn tốt. Nó cung cấp chức năng tương tự, cho phép bạn hiển thị múi giờ hiện tại trên admin bar. Plugin này cũng rất dễ sử dụng và không yêu cầu cấu hình phức tạp.

Cách cài đặt và sử dụng:

  1. Truy cập trang quản trị WordPress của bạn.
  2. Đi tới “Plugins” -> “Add New”.
  3. Tìm kiếm “WP Timezone Admin Bar”.
  4. Cài đặt và kích hoạt plugin.
  5. Sau khi kích hoạt, múi giờ của trang web sẽ tự động hiển thị trên admin bar.

Sử Dụng Code Để Hiển Thị Múi Giờ

Nếu bạn muốn tùy chỉnh sâu hơn hoặc không muốn sử dụng plugin, bạn có thể sử dụng code để hiển thị múi giờ trên admin bar. Cách này đòi hỏi một chút kiến thức về PHP và WordPress, nhưng nó cho phép bạn kiểm soát hoàn toàn cách múi giờ được hiển thị.

Bước 1: Lấy múi giờ của trang web

Đầu tiên, bạn cần lấy múi giờ của trang web bằng hàm `get_option(‘timezone_string’)`. Hàm này trả về một chuỗi đại diện cho múi giờ, ví dụ: “Asia/Ho_Chi_Minh” hoặc “America/Los_Angeles”.

Bước 2: Định dạng thời gian hiện tại

Sau khi có múi giờ, bạn có thể sử dụng hàm `date_i18n()` để định dạng thời gian hiện tại theo múi giờ đó. Hàm này sẽ trả về một chuỗi đại diện cho thời gian hiện tại theo định dạng bạn chỉ định.

Bước 3: Thêm múi giờ vào admin bar

Cuối cùng, bạn cần sử dụng hook `admin_bar_menu` để thêm múi giờ vào admin bar. Hook này cho phép bạn thêm các mục tùy chỉnh vào admin bar. Dưới đây là đoạn code hoàn chỉnh:


    <?php
    add_action( 'admin_bar_menu', 'add_timezone_to_admin_bar', 999 );

    function add_timezone_to_admin_bar( $admin_bar ) {
      $timezone_string = get_option( 'timezone_string' );

      if ( ! empty( $timezone_string ) ) {
        $datetime = date_i18n( 'H:i:s (T)', time() ); // Định dạng thời gian: giờ:phút:giây (Múi giờ)

        $admin_bar->add_menu( array(
          'id'    => 'timezone',
          'title' => 'Múi giờ: ' . $datetime,
          'href'  => '#', // Tùy chọn: có thể trỏ đến trang cài đặt múi giờ
          'meta'  => array(
            'title' => __( 'Múi giờ của trang web', 'textdomain' ),
          ),
        ) );
      } else {
        // Nếu không có múi giờ, hiển thị thông báo
        $admin_bar->add_menu( array(
          'id'    => 'timezone',
          'title' => 'Múi giờ chưa đặt',
          'href'  => admin_url( 'options-general.php' ), // Trỏ đến trang cài đặt chung
          'meta'  => array(
            'title' => __( 'Vui lòng đặt múi giờ trong Cài đặt chung', 'textdomain' ),
          ),
        ) );
      }
    }
    ?>
  

Cách thêm code vào WordPress:

  • Sử dụng file `functions.php` của theme con: Đây là cách được khuyến nghị vì nó đảm bảo code của bạn không bị mất khi bạn cập nhật theme cha.
  • Sử dụng plugin “Code Snippets”: Plugin này cho phép bạn thêm các đoạn code PHP vào WordPress một cách dễ dàng và an toàn.

Giải thích code:

  • `add_action( ‘admin_bar_menu’, ‘add_timezone_to_admin_bar’, 999 );`: Dòng này đăng ký hàm `add_timezone_to_admin_bar` để chạy khi menu admin bar được tạo. Số `999` đảm bảo hàm này chạy sau hầu hết các hàm khác, giúp mục múi giờ hiển thị ở vị trí mong muốn.
  • `$timezone_string = get_option( ‘timezone_string’ );`: Lấy múi giờ từ cài đặt WordPress.
  • `$datetime = date_i18n( ‘H:i:s (T)’, time() );`: Định dạng thời gian hiện tại theo múi giờ của trang web. `’H:i:s (T)’` là định dạng thời gian: giờ:phút:giây (Múi giờ).
  • `$admin_bar->add_menu( … );`: Thêm một mục mới vào admin bar với ID là `timezone`, tiêu đề là thời gian hiện tại và liên kết đến trang cài đặt chung (tùy chọn).
  • Phần `else` xử lý trường hợp múi giờ chưa được đặt trong cài đặt WordPress.

Tùy Chỉnh Hiển Thị Múi Giờ

Bạn có thể tùy chỉnh cách hiển thị múi giờ trên admin bar theo nhiều cách khác nhau:

  • Thay đổi định dạng thời gian: Trong đoạn code trên, bạn có thể thay đổi định dạng thời gian bằng cách thay đổi chuỗi định dạng trong hàm `date_i18n()`. Ví dụ: `’F j, Y, g:i a’` sẽ hiển thị thời gian theo định dạng “Tháng ngày, năm, giờ:phút sáng/chiều”. Tham khảo tài liệu PHP để biết thêm các tùy chọn định dạng.
  • Thay đổi vị trí của mục múi giờ: Bạn có thể thay đổi vị trí của mục múi giờ trên admin bar bằng cách thay đổi số ưu tiên (priority) trong hàm `add_action()`. Số càng nhỏ, mục càng xuất hiện sớm hơn trên admin bar.
  • Thêm icon cho mục múi giờ: Bạn có thể thêm icon cho mục múi giờ bằng cách sử dụng CSS hoặc bằng cách thêm một lớp CSS vào mảng `’meta’` trong hàm `$admin_bar->add_menu()`.

Kết Luận

Việc hiển thị múi giờ WordPress trên admin bar là một thủ thuật nhỏ nhưng hữu ích giúp bạn quản lý thời gian hiệu quả hơn, đặc biệt là khi làm việc với các trang web có múi giờ khác nhau hoặc làm việc với một nhóm phân tán trên toàn cầu. Bạn có thể sử dụng plugin để thực hiện công việc này một cách nhanh chóng và dễ dàng, hoặc sử dụng code để tùy chỉnh sâu hơn. Hy vọng bài viết này đã cung cấp cho bạn đầy đủ thông tin để thực hiện việc này.