Chức năng nào chỉ thực hiện một lần duy nhất?
Có rất nhiều tình huống mà chúng ta chỉ cần chạy chức năng một lần duy nhất trong WordPress. Đặc biệt là khi bạn là một lập trình viên plugin hoặc theme, muốn thực hiện chức năng chỉ một lần khi theme hoặc plugin của bạn được kích hoạt như:
- Tạo bảng mới trong database của WordPress.
- Chèn, hoặc cập nhập dữ liệu.
- Tạo người dùng mới.
- Xoá vai trò người dùng.
- Khác.
Thực hiện chức năng một lần
Nếu bạn là một lập trình viên WordPress, có thể bạn sẽ biết đến hàm get_option. Hàm này sẽ lấy giá trị của một option, và trả về false nếu giá trị đó không tồn tại.
<?php function hk_run_code_one_time() { if ( !get_option('run_only_once') ): // Đặt code bạn muốn thực hiện ở đây add_option('run_only_once', 1); endif; } add_action( 'init', 'hk_run_code_one_time' );
Ở đoạn code trên, mình tận dùng hàm get_option()
để kiểm tra xem option run_only_once
có tồn tại giá trị hay chưa. Nếu chưa thì sẽ thực thi code, sau đó dùng hàm add_option để gắn giá trị cho option run_only_once
.
Sau khi giá trị của run_only_once
được gắn, đoạn code trên sẽ không bao giờ được thực thi lại nữa.
Nếu bạn muốn chạy lại để kiểm tra, bạn có thể tìm và xoá option run_only_once
ở bảng wp_options
trong database WordPress.
Hoặc sử dụng hàm delete_option, cụ thể là delete_option('run_only_once')
để loại bỏ option.
Lời kết
Mình hi vọng bài viết này sẽ giúp bạn viết được function chỉ thực thi một lần duy nhất trong WordPress.
Hãy để lại bình luận nếu bạn có bất kì câu hỏi nào. Nếu bạn thấy bài viết nãy hữu ích, bạn có thể theo dõi chuyên mục Thủ thuật WordPress và follow Facebook để biết thêm nhiều kiến thức mới nha.