Fastest way to update a theme

git is probably by far the fastest and easiest way to update anything assuming you use git for development. The alternative you hinted to in the question is to use the wordpress update API, but for this you will need to set up an update server. There is some code for that here https://github.com/YahnisElsts/wp-update-server. It … Read more

Plugin upgrade failing during unzip

The name of the temporary file created by the download_url function is 118 characters long. The length of this is causing the full path name of some files or directories created during the unzip process to be longer than the allowable length on Windows. Therefore an error is thrown and the plugin upgrade fails. I … Read more

Multisite network admin – User’s role not showing up

This worked for me: Make sure the row in option-table in the database for wordpress-site have the correct option_name for the serialised roles-data. For instance; if the database-table is wp_options, the column option_name in the role-row should be wp_user_roles. if the database-table is wp_20_options, the column option_name in the role-row should be wp_20_user_roles. Don’t ask … Read more

WP Plugin with Upgrade option

If you want your plugin being hosted on WordPress.org Plugin Repository, you cannot combine Free and Premium version, in one plugin. You have to maintain two versions, Lite, hosted on WordPress.org, and Premium, hosted on your website. Plugins hosted on WordPress.org cannot make any remote requests to your website ( aka “calling home” ), therefore, … Read more

How is FTP used for upgrade?

The browser doesn’t connect via FTP. The server connects to itself. WordPress does this when it doesn’t have sufficient filesystem permissions to do the update itself. This is outlined in the Updating WordPress article in the Codex. WordPress determines what method it will use to connect to the filesystem of your server based on the … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)