通过代码更新插件

问题描述 投票:0回答:1

是不是可以用php代码通过另一个插件更新wordpress-plugin?

我试过这样的事情

$request = wp_remote_post(
'http://wordpress2/wp-admin/admin-ajax.php',
array(
    'body' => array( 
        'plugin' => 'hello-dolly/hello.php',
        'slug' => 'hello-dolly',
        'action' => 'update-plugin',
        '_ajax_nonce' => wp_create_nonce( 'nonce-test' ),
    )
));

但这只会导致400状态......

我认为这种东西在wordpress中很容易,愚蠢的我! :-D

php wordpress
1个回答
0
投票

找到了解决方案:

  1. 加载完所有插件后,添加一个过滤器,定义为自动更新插件 add_action('plugins_loaded',array(CLASS,'abpr_plugins_loaded'),1); public static function abpr_plugins_loaded(){ add_filter('auto_update_plugin','__ return_true'); }
  2. 定义一些将从某些东西触发的函数,在我的例子中,它是一个自定义的api-url,它调用: public static function update_all_defined_plugins($data){ set_site_transient( 'update_plugins', '' ); wp_maybe_auto_update(); }

请记住,这里有一些简单的东西,没有任何代码和结果检查

© www.soinside.com 2019 - 2024. All rights reserved.