1

We have a very annoying problem with our Unyson plugin. For some users, all extensions are uninstalled automatically on random intervals (#1, #2) and we have no idea why this happens. The only clue is that it can be caused by the WordPress automatic update. We released a fix to stop automatic updates for Unyson plugin but the problem persists #3.

Why we think it's caused by the WP auto updates:

  • Our extensions are located within plugin directory in wp-content/plugins/unyson/framework/extensions
  • Before plugin update, we move all extensions outside the plugin to a temporary directory
  • After plugin update finished, we move them back in plugin directory (so the user doesn't have to install them again)
  • We use these 2 actions for before/after plugin update

I am thinking that on backgroup/auto update, the first action is fired, but the second one not (so the extensions are not moved back in plugin directory, so they are uninstalled).

We need a way to start manually WP backgroud/auto update and to debug the code execution (add print_r() or make requests to http://requestb.in/ with debug info).

2
  • Sorry this comment isn't constructive for the actual issue, but I do believe that storing those extensions inside a plugin folder that is distributed via wordpress.org just isn't a proper approach. Why aren't the extenstions separate plugins?
    – kraftner
    Jul 30, 2015 at 14:37
  • To be easier to manage. Extensions have a predefined directory structure and can be nested any level.
    – moldcraft
    Jul 30, 2015 at 14:55

1 Answer 1

1

Your WP installation must not require FTP credentials on plugins or extensions install.

  1. Open wp-content/plugins/unyson/unyson.php and decrease the version

    Important: Decrease only the last digit (third).

    /**
     * ...
     * Version: 2.5.0
     * ...
     */
    
  2. Add in {theme}/functions.php

    add_filter( 'auto_update_plugin', '__return_true', 99999 );
    
  3. Open phpMyAdmin and delete wp_option named cron. You can run this SQL:

    DELETE FROM `wp_options` WHERE `option_name` LIKE 'cron'
    
  4. Open admin page (plugins page) and repeat:

    1. Refresh
    2. Wait 1 second until Unyson will auto-update.

If after 10 refresh nothing happens, run the steps 3. and 4. again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.