
Cách kích hoạt plugin WordPress bằng code PHP
Một số trường hợp vì không vào được WP-Dashboard để kích hoạt 1 plugin cần thiết buộc phải sử dụng 1/3 phương pháp kích hoạt plugin đó là active plugin bằng cách add code kích hoạt plugin tuỳ chỉnh vào file functions.php, đây là cách không được khuyến khích vì lý do bảo mật nhưng nếu bạn là chủ website thực sự và vì lý do nào đó bạn cần áp dụng thì có thể sử dụng code ở phía dưới để chữa cháy.
Cách kích hoạt plugin bằng code PHP
Để kích hoạt plugin bằng code bạn có thể sử dụng code sau và điều chỉnh slug và tên file plugin.php cho phù hợp nhé, trước tiên bạn cần tải về plugin và giải nén plugin đó ra, sau đó sử dụng FTP để tải lên thư mục /wp-content/plugins/ sau đó áp dụng code để active plugin
function plugin_activation( $plugin ) { if( ! function_exists( 'activate_plugin' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } if( ! is_plugin_active( $plugin ) ) { activate_plugin( $plugin ); } } plugin_activation( 'really-simple-ssl/rlrsssl-really-simple-ssl.php' );
Ví dụ code ở trên là mình sẽ kích hoạt plugin Really Simple Security – Simple and Performant Security
really-simple-ssl chính là slug của plugin
Ví dụ, nếu plugin có tên là “Really Simple Security – Simple and Performant Security” và nằm trong thư mục /wp-content/plugins/really-simple-ssl/, thì slug của nó sẽ là really-simple-ssl
Ví dụ, nếu plugin có tên là “Contact Form 7” và nằm trong thư mục /wp-content/plugins/contact-form-7/ thì slug của nó sẽ là contact-form-7
Ở 2 ví dụ này chắc bạn đã hiểu slug là gì và dễ dàng xác định rồi nhỉ?!
Bài viết liên quan
Còn rlrsssl-really-simple-ssl.php là gì thì bạn phải mở thư mục really-simple-ssl chứa plugin Really Simple Security lên và bạn sẽ dễ dàng nhìn tên file gần giống như slug, hãy lấy tên file và điền và phía sau là được.
Ví dụ thêm đoạn code kích hoạt Contact form 7 để bạn có thể hiểu hơn
function plugin_activation( $plugin ) { if( ! function_exists( 'activate_plugin' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } if( ! is_plugin_active( $plugin ) ) { activate_plugin( $plugin ); } } plugin_activation( 'contact-form-7/wp-contact-form-7.php' );
Vậy là bạn có thể kích hoạt plugin thông qua code mà không cần phải login vào WP-admin thành công, ngoài cách này thì cách mình cũng đôi lúc sử dụng đó là tạo sẵn 1 file vts-active-plugin.php và add code vào và truy cập vào vutruso.com/vts-active-plugin.php để kích hoạt chẳng hạn.
Ví dụ mình muốn active 3 plugin 1 lúc sẽ config file như sau:
function vutruso_plugins_activation($plugins) { // Load file cần thiết nếu chưa có if (!function_exists('activate_plugin')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $results = array(); // Kiểm tra nếu $plugins là string thì chuyển thành array if (is_string($plugins)) { $plugins = array($plugins); } // Duyệt qua từng plugin foreach ($plugins as $plugin) { // Kiểm tra file plugin có tồn tại if (!file_exists(WP_PLUGIN_DIR . '/' . $plugin)) { $results[$plugin] = false; continue; } // Kiểm tra và kích hoạt nếu chưa active if (!is_plugin_active($plugin)) { try { activate_plugin($plugin); $results[$plugin] = true; } catch (Exception $e) { $results[$plugin] = false; } } else { $results[$plugin] = true; // Plugin đã active } } return $results; } // Sử dụng: $plugins = array( 'contact-form-7/wp-contact-form-7.php', 'woocommerce/woocommerce.php', 'elementor/elementor.php', // Thêm các plugin khác ở đây ); $activation_results = vutruso_plugins_activation($plugins); // Hiển thị kết quả foreach ($activation_results as $plugin => $status) { if ($status) { echo "Plugin {$plugin} đã được kích hoạt thành công<br>"; } else { echo "Không thể kích hoạt plugin {$plugin}<br>"; } }
Như đã nói ban đầu việc kích hoạt plugin không thông qua wp-admin không được khuyến khích nên bạn hãy cân nhắc sử dụng, và nhiều trường hợp sử dụng phương pháp bất hợp pháp để active theo cách sau để chiếm quyền truy cập vào wp-admin, nếu bạn là chủ web thực sự thì không vấn đề nhưng…
Xin cảm ơn.