通过代码更新插件

时间:2018-03-06 13:18:35

标签: php wordpress

以某种方式可以用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

1 个答案:

答案 0 :(得分: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(); }
    
  3. 请记住,这里有一些没有任何代码的裸机 - &结果检查