Hook khi kích hoạt và ngừng kích hoạt giao diện

Cập nhật lần cuối vào

Khi bạn lập trình giao diện cho WordPress, có những lúc bạn muốn chạy một hàm nào đấy sau khi giao diện được kích hoạt hoặc sau khi người dùng ngừng kích hoạt giao diện. Bài viết này sẽ hướng dẫn cho bạn cách sử dụng hook khi activate và deactivate giao diện.

Hook khi activate giao diện

Kể từ WordPress phiên bản 3.3 trở về sau, bạn có thể sử dụng action after_switch_theme để chạy code ngay sau khi giao diện bạn được kích hoạt.

function sb_theme_activation_callback() {

}
add_action('after_switch_theme', 'sb_theme_activation_callback');

Action after_switch_theme sẽ giúp cho hàm của bạn được thực thi ngay sau khi người dùng nhấn vào nút activate của giao diện.

Hook khi deactivate giao diện

Cũng giống như action after_switch_theme, bạn cũng có thể sử dụng action switch_theme để chạy code sau khi giao diện của bạn đã ngừng hoạt động.

function sb_theme_deactivation_callback() {

}
add_action('switch_theme', 'sb_theme_deactivation_callback');

Bạn có thể dùng action switch_theme để chạy khi giao diện được chuyển đổi, điều này có nghĩa là khi người dùng chuyển đổi sang giao diện khác thì giao diện của bạn sẽ ngừng kích hoạt, do vậy bạn có thể chạy hàm trong khi giao diện được thay đổi.

Đối với WordPress phiên bản cũ

Ngoài các cách mình giới thiệu bên trên, bạn cũng có thể sử dụng hàm như bên dưới để kiểm tra. Với WordPress phiên bản cũ thì bạn phải dùng code này thì mới làm được, nếu bạn đang dùng WordPress các phiên bản mới gần đây thì có thể xem hàm bên dưới như là một sự lựa chọn.

global $pagenow;
if (is_admin() && isset($_GET['activated'] ) && $pagenow == 'themes.php') {
	// Your code here
}

Như vậy là bạn hoàn toàn có thể chạy code để xử lý các chức năng khi giao diện được kích hoạt hoặc ngừng kích hoạt. Chúc bạn thành công.