Hide My WP的未授权版本有激活提示,下面简单的介绍下如何去除。
进入Plugin文件夹,找到 plugins/hide_my_wp/lib 目录下的 class.helper.php 文件,打开编辑模式,对源码进行分析,在第173行,找到以下函数
1
2
3
4
5
6
7
8
9
|
function register_messages(){
add_filter('cron_schedules', array(&$this, 'add_once_3days'), 1);
if( !wp_next_scheduled( 'pp_important_messages3' ) )
wp_schedule_event( time(), 'once_3days', 'pp_important_messages3' ); //or daily
else
add_action( 'pp_important_messages3', array(&$this, 'update_pp_important_messages') );
add_action('admin_notices', array(&$this, 'admin_notices'));
}
|
上面这个函数就是负责注册message,可以看到其中注册了两个action,都是和message有关。
先看 update_pp_important_messages 函数,跳转到188行,这个函数主要是将插件的注册信息和本地信息发送到服务器获取返回信息。为了停止收到服务器的信息,可以在210行下方添加一行,对 $url 重新进行赋值。
1
2
|
$url = 'ht'.'tp:/'.'/api.wpwave.com/important_message.php?site='.urlencode(str_replace('htt'.'p:/'.'/','',home_url())).'&theme='.$theme.'&wp_ver='.$wp_version.'&plugin='.$this->slug.'&ver='.$this->ver.'&li='.$li.'&posts='.$posts->publish;
$url = '';
|
接着找到 admin_notices 函数,应该在第229行。这个函数主要是负责将服务器收到的信息显示在页面上方的消息区域,要取消显示只需要将显示内容设为空值。即在233行下添加一行赋值为空。
1
2
|
$recent_message= get_option('pp_important_messages');
$recent_message= '';
|
至此,就停用了插件的消息功能。
PS
一般的插件都是直接在源码中写有明文的消息,这样直接就可以删除。而这个插件是直接从服务器获得消息,然后将消息写到数据库中,所以无法直接删除,只能阉割消息功能来达到取消显示的目的。