正如SickHippie和AFAIK所说,你不能两者兼得。我正在用我在此堆栈中收集的信息添加答案。
评论中的Bainternet:
只需打开插件文件并将版本号更改为9.9.9之类的内容
Hameedullah Khan的回答(删除Akismet更新通知):
function filter_plugin_updates( $value ) {
unset( $value->response[\'akismet/akismet.php\'] );
return $value;
}
add_filter( \'site_transient_update_plugins\', \'filter_plugin_updates\' );
奥托的回答:
API使用了一种相当复杂的机制来将插件与它知道的插件进行匹配,但这些是检查的主要内容:插件URI、插件名称和插件slug(插件所在的目录名)
更改其中任何一个选项,都会减少它找到匹配项的机会,但如果其中两个匹配,它仍然可能找到匹配项。
自述文件中的信息。txt不用于此。使用插件PHP文件本身的头。
备选方法1修改插件以检查您自己的自定义存储库中的更新您必须遵循原始插件更新,要么定期访问官方回购,要么在其他WordPress安装中安装原始插件当您决定必须更新修改后的插件时,将其提交给您的Repo,您将收到通知教程:http://wp.tutsplus.com/tutorials/plugins/a-guide-to-the-wordpress-http-api-automatic-plugin-updates/这本书Professional WordPress Plugin Development布拉德·威廉姆斯(BradWilliams)、奥兹·理查德(OzhRichard)和贾斯汀·塔洛克(JustinTadlock)合著的《em>》中有一章介绍了这一问题
从评论中提取的替代方法2- 更改插件名称、版本号,和目录名
- 安装原始插件,但使其处于停用状态以接收更新通知
- 在插件描述中添加自定义消息(或替换原始插件)
- 删除插件操作(激活|编辑|删除)和批量操作复选框
add_filter( \'all_plugins\', \'wpse_56968_on_list_plugins\' );
add_filter( \'plugin_action_links_akismet/akismet.php\', \'wpse_56968_remove_plugin_actions\', 10, 4 );
add_action( \'admin_head-plugins.php\', \'wpse_56968_remove_plugin_checkbox\' );
function wpse_56968_on_list_plugins( $plugins )
{
$plugins[\'akismet/akismet.php\'][\'Description\'] = \'<strong>*** NOTICE: PLUGIN ONLY TO CHECK UPDATES IN THE ORIGINAL ONE! ***</strong> \';// . $plugins[\'akismet/akismet.php\'][\'Description\'];
return $plugins;
}
function wpse_56968_remove_plugin_actions( $actions, $plugin_file, $plugin_data, $context )
{
unset( $actions[\'activate\'], $actions[\'edit\'], $actions[\'delete\'] );
return $actions;
}
function wpse_56968_remove_plugin_checkbox()
{
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$(\'tr#akismet th.check-column\').html(\' \')
});
</script>
<?php
}
相关核心票据#10814 Plugin GUIDs
#8964 Allow adding headers to get_plugin_data