我已经安装了 SMS Validator,所以注册到我网站的每个人都必须输入那里的电话号码才能注册
现在我创建了一个新功能(链接),如果用户通过访问此链接注册,则添加不同类型的用户角色: http ://example.com/wp-login.php?action=register&role=vip_member
我只想为此 URL 链接关闭 SMS Validator。
有可能以某种方式做到吗?
到目前为止使用 mathielo 代码的成功:
// Activate SMSGlobal
function activate_plugin_conditional() {
if ( !is_plugin_active('sms-validator-SMSG/sms-validator.php') ) {
activate_plugins('sms-validator-SMSG/sms-validator.php');
}
}
// Deactivate SMSGlobal
function deactivate_plugin_conditional() {
if ( is_plugin_active('sms-validator-SMSG/sms-validator.php') ) {
deactivate_plugins('sms-validator-SMSG/sms-validator.php');
}
}
// Now you in fact deactivate the plugin if the current URL matches your desired URL
if(strpos($_SERVER["REQUEST_URI"], '/wp-login.php?action=register&role=vip_member') !== FALSE){
// Calls the disable function at WP's init
add_action( 'init', 'deactivate_plugin_conditional' );
}
if(strpos($_SERVER["REQUEST_URI"], '/wp-login.php?action=register&role=seller') !== FALSE){
// Calls the enable function at WP's init
add_action( 'init', 'activate_plugin_conditional' );
}
if(strpos($_SERVER["REQUEST_URI"], '/wp-login.php?action=register&role=provider') !== FALSE){
// Calls the enable function at WP's init
add_action( 'init', 'activate_plugin_conditional' );
}
到目前为止,此代码可帮助我在这 3 个选定的 URL 中激活和停用此插件。但如果在此链接中停用此插件,我希望激活此插件:/wp-login.php和/wp-login.php?action=register
但是,如果我将其设置为在 URL:/wp-login.php 上激活,那么它不会在 URL:/wp-login.php?action=register&role=vip_member 上被停用,我需要将其停用。