A plugin is treated as the same as another plugin if it has the same directory name. That’s it. If your zip file contains the plugin files then the zip filename will be used as the directory name. If your zip has a directory in it, containing the plugin files, then that will be used as the plugin directory.
So the solution is to structure your zips like this:
my-plugin-1.0.0.zip
∟ my-plugin/
∟ my-plugin.php
my-plugin-1.1.0.zip
∟ my-plugin/
∟ my-plugin.php
This way the directory will always be my-plugin/
and those two zips will be treated as the same plugin.
Related Posts:
- Automatic updates in plugin – not hosted on wordpress repository
- WordPress updates defined vs add_filter?
- How to disable plugin update notification for a specific plugin in Multisite
- How to sync with plugins update after I have done manual optimizations?
- Update exisiting site to 3.5 release candidate
- Is there any way to test if a function running only on plugin update is successfully running?
- How Can I setup WP CLI on Windows development machine running AMPPS?
- Plugin updates, version dependencies, and backwards compatibility
- Reset plugins version cache | pre_set_site_transient_update_plugins
- How to test plugin update through WordPress plugin updater without tagging new release in the repo
- Update own Plugin Repository on Multisite
- Selectively update themes in WordPress multisite
- How to cancel update messages from a changed plugin
- Update custom plugin with WP-CLI
- Readme.txt seems to be cached but not the version
- How best to handle database version dependence (from $wp_db_version)
- wordpress automatic update does not run
- WordPress Plugin Update Process
- pre_set_site_transient_update_plugins not updating
- Cannot update plugin
- Is using upgrader_process_complete the correct way to perform plugin updates?
- Is get_option function cached?
- How to include jQuery and JavaScript files correctly?
- $_POST form request with admin-post
- How do I log plugin (cron) actions?
- How can I run AJAX on a button click event?
- Adding pre-publish checks with Gutenberg
- Error getting correct blog_id on MU from functions.php
- How Do I Make WordPress Run an Event Every Day?
- How can I change the frequency of a scheduled event?
- How to check if certain plugin exists and in expected version
- How to add SQL file with PHP to WordPress database [closed]
- Error : “Updating failed: The response is not a valid JSON response” with custom shortcode
- array_map() for sanitizing $_POST
- Is there a faster way than wp_insert_post to add content to a blog
- How to include external library in wordpress plugin
- Delete a specific item menu when I deactivate my plugin
- Ajax in WordPress – path issue
- Platform/Website that Supports Crowd-Funded WordPress Projects? [closed]
- Get user id for delete and update selected user
- How can I call template partials inside my custom plugin
- Decrease RSS cache time in plugin?
- Add version query tag to all images
- Creating table with plugin is not working
- How to add a custom tag in contact form 7 and change the output in email?
- How to delete an user including data from custom database tables
- How to check if Woocommerce Order number equals to post ID?
- Add custom element ID depending where the widget place is, sidebar or footer
- My plugin class doesn’t work! [closed]
- Call PHP file within a plugin to activate function
- add_action not calling back to function
- Example Dashboard Widget, Cancel not working
- Woocommerce checkout update totals with datepicker
- Multiple options pages validation for a plugin
- How to get plugin activate URL to use URL vars?
- rewrite URL based on selected taxonomy for post page
- Woocommerce – Convert Delivery method into a custom field
- Prefixing plugin hooks (actions/filters) with a wrapper class or functions
- Woocommerce Composite Products – Add a composite product to cart programmatically via ajax [closed]
- Testing Rewrite Rules with PHPUnit
- Add a page in admin without adding menu item
- Possible to get all posts with my shortcode?
- Avoid updating post when sending POST or GET request to post.php
- Delist entries in the_loop
- wordpress add_submenu_page adds broken link
- WP Enqueue style on all plug-in pages
- Uploaded attachment not set as featured image
- Can we use a library under MIT license in a WooCommerce plugin?
- How do I find the page/url where a search came from when using pre_get_posts filter?
- Why does comments_open() return false when publishing a scheduled post?
- Using delete_post_meta for deleting multiple selected options
- Workflow for new importer plugin – your advices?
- Use options to control jQuery plugin
- Including template in shortcodes
- How to exclude categories from get_categories() select list inside a widget admin panel
- How to automatically activate a plugin on install
- disable defaault wordpress comments from a plugin
- WordPress plugin development theme issue
- Using custom IDP with WP
- Trying to run a Ajax request from a checkout form in woocommerce via a custom plugin
- Securing custom rest API endpoints with public access from PWA
- By adding “?login – failed” code unable to access my dashboard
- jQueryUI draggable doesn’t work in WordPress plugin
- Creating a return url for getting data from external api
- How to prevent users from deleting their accounts?
- How do I get a reference to the HTML memory buffer while the page is being constructed?
- Is it possible to restore an expired transient?
- How to Maintain url on form submit
- Experts opinions needed: How (in)secure is this approach?
- add_option_{$option} action hook not being called
- action callback, for action dispatched as reported by hook sniffer, not called
- variable created in page.php is null inside of header.php
- Access WordPress Tag Function From Modal
- how can I insert a link on login page
- Shortcode attribute “title” doesn’t appear in $atts array
- What’s wrong in the WordPress Meta Box Generator code?
- add category id to option name when adding an option on edit_category
- esc_url, esc_url_raw or sanitize_url?
- React Plugin Settings Page Localization
- Is it within WordPress guidelines to update another plugin’s database fields from my own plugin? [closed]