如何在特定日期和时间在PHP中更新WordPress和插件?

时间:2019-02-23 作者:Laurence Cope

我们在我们的网站上使用自动更新,因为有许多网站,所以手动更新在低托管成本下不可行。

但由于Wordpress或主要插件更新可能会破坏您的网站,并且由于不知道Wordpress何时会实际进行更新,而这些更新也可能每天都会发生,因此我希望通过编程方式在功能中更新Wordpress和插件。php或插件,这样我就可以知道它运行的确切日期和时间,这样我们就可以在以后检查问题。

例如,我可能会选择周一凌晨3点,所以我们当天早上的第一个行动是检查所有站点是否正常工作,修复任何问题,然后我知道本周其余时间将不会出现问题:)

Does anyone know how to initiate a Wordpress and plugin update in the functions file or a plugin?

我的想法是通常禁用所有自动更新,但在特定的日期和时间调用更新功能,该功能将检查是否存在更新,如果存在,则进行更新。我将添加一个电子邮件功能,通知我什么网站上更新了什么,以便我可以检查该网站。

如果使用自动更新,这种方法比让Wordpress随心所欲地每天更新很多次要容易控制得多。

谢谢

2 个回复
SO网友:Antti Koskinen

这里有一个关于WP(自动)更新的问题和答案,How To/What triggers a Wordpress auto update?

答案还有一个关于如何force WordPress auto-update.

发布在引用博客上的代码段,

<?php
  // request-update.php
  require( dirname(__FILE__) . \'/wp-load.php\' );
  wp_maybe_auto_update();
?>
以及

php ./request-update.php
也许您可以使用这个和一个真正的(不是WP)cron作业在特定的日期和时间更新您的站点。

Edit

然后是do_core_upgrade 作用

Edit 2

哦,还有wp_update_pluginswp_update_themes, 也这些定义见wp-includes/update.php (trac)。

Edit 3

事实上wp_ajax_update_plugin 可能是创建自定义插件更新过程的更好参考点。还有Plugin_Upgrader 班对于主题wp_ajax_update_theme 供参考和Theme_Upgrader

SO网友:MasuduL

wp禁用插件更新。php智能更新知识增长WordPress代码

/**
 * Prevent update notification for plugin
 * http://www.thecreativedev.com/disable-updates-for-specific-plugin-in-wordpress/
 * Place in theme functions.php or at bottom of wp-config.php
 */
function disable_plugin_updates( $value ) {
  if ( isset($value) && is_object($value) ) {
    if ( isset( $value->response[\'plugin-folder/plugin.php\'] ) ) {
      unset( $value->response[\'plugin-folder/plugin.php\'] );
    }
  }
  return $value;
}
add_filter( \'site_transient_update_plugins\', \'disable_plugin_updates\' );

相关推荐

Organize functions.php

组织职能的最佳方式是什么。php的性能?我有几个add\\u操作调用、几个add\\u主题支持、几个add\\u过滤器和4个附加函数。对于面包屑、样式表、注册菜单和小部件。我们是否需要遵守订单?例如,首先是所有add\\u过滤器函数,然后是add theme\\u support等。不确定添加代码是否相关,因为这是一个一般性问题。如果需要,我很乐意更新这篇文章。