You can use this ThemeUpdateChecker class
Basic outline of the process:
- Have a fixed spot on your server to both house a little bit of data about the current version and a zip of your theme files.
- Hook an action into
pre_set_site_transient_update_themes
- In that action, ping your server (with something like curl)
- Compare the versions of both the local and remote themes.
Two more references:
Related Posts:
- How to prevent plugin, theme installation failures on WordPress?
- Migrating October CMS to WordPress
- During theme installation theme upload failed
- wp theme.. Could not create directory
- WordPress not displaying themes in the wp-content/themes folder
- How to run WordPress from other location on the same domain
- Permissions for installing themes and files in general?
- Configure new installed WordPress in live server
- Installing a theme on localhost, Ubuntu 16.04
- Create QuickStart Package for WordPress just like in Joomla
- Get WP Install Directory
- Error when installing theme – “failed to open stream: No such file or directory in…”
- How can i set default pages to a word press theme? it shouldn’t be changed even if i install the theme in different host
- Customized wordpress theme locally put on someones WordPress account
- WP-CLI wp theme install url PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature
- Unable to access new installed theme
- Orion theme (from theme forest) [closed]
- I can’t install theme: theme install failed
- hardened wordpress linux install
- Theme install failed
- Opinions and recommendations on the best barebones base theme [closed]
- Different template of products for specific category. WooCommerce
- How can I create a bash install script for my WordPress sites setup (WP+plugins+theme)?
- what the best way to include images from the template’s images folder?
- How to use media upload on theme option page?
- WordPress 5 / Gutenberg – theme doesn’t have featured image option showing up
- How to refresh WordPress Customizer panel upon entering a value
- Set Featured Image for Archive templates
- How do I change Twenty Nineteen’s primary color without using the color slider in the theme customizer?
- How to add the main style.css to my index.php?
- How to attach region identifier to a pretty url?
- Remove action within a class in a parent theme from the child theme
- How to get themes from wordpress.com per SVN? [closed]
- Edit raw HTML of the landing page
- How to move WordPress theme files into a subfolder without breaking the theme?
- remove rel=next on home page but not others
- Disable Sidebar in the Product Page in Storefront Theme [closed]
- How do you create a custom WPTouch theme?
- Renaming the Twenty Fourteen WordPress theme
- Defining different theme for Blog posts page
- Working with an Array inside Your Theme Options Array – Multiple Values
- WordPress Theme for Video Showcase [closed]
- How to understand a specific bit of WordPress syntax
- How to unset comment_notes_before field in WordPress comment_form
- Widgets menu does not appear under “Appearance” in dashboard
- Theme and plugin install or update display error in localhost
- How to loop over wp_get_themes() and create an array of themes name
- Switching to a child theme
- Restrict access to specific widget field based on user role
- Twenty Twelve theme search returns Nothing Found
- WooThemes PremiumNews Theme jQuery Conflict with WordPress 3.2
- Finding and disabling ‘rogue’ stylesheet from header: Source Sans Pro
- Can I create a child theme from a premium theme without losing my posts and page etc that I already have?
- Change copyright text on the footer section [closed]
- WordPress front page empty, however, there is content on website
- How to reset a custom theme
- Warning : Invalid argument supplied for foreach() in theme php on line 56 [closed]
- Cannot changing login button color, have tried theme, plugins… is it GoDaddy managed?
- How To Show Different Footers For Different Post Types Pages?
- Uploading new version of theme fails, folder already exists
- Cannot see theme in my search
- How to get ONLY the URL of the image that show_media_header returns?
- get_pages Not accepting my query
- Date based CSS/theme
- Make a menu item unselectable
- Customizing 1 theme for multiple blogs in a multisite setup
- Unable to thread comments because of custom comments.php file
- conditional statement if wordpress theme block is empty then hide block
- Can I use non-wordpress themes in WordPress?
- Is bloginfo(‘template_directory’) generated based on WP_SITEURL and WP_HOME in the settings?
- jQuery is not defined – some theme features do not work!
- How can I modify the CSS only for the search results page of WordPress?
- SVG icons in Twenty Nineteen
- Does anyone know where to find the area to edit this text
- Minor changes on theme per subdomain – same contents
- fixing page URL’s
- Don’t prepend WordPress base url to image paths
- How to preparing theme for new users? Export ready theme
- Issues with dynamic widget in theme customizer
- WordPress sub-domain different theme
- Site assets not loading from a subdomain
- Theme Dev | Convert Template to Theme
- How to Solve the WordPress Cron Job Site Slow down Problem?
- How do I get the path to the currently in use theme’s directory?
- Pagination not working in home page
- Show part of front page on another page [closed]
- Plugin to load theme if mobile and specific page
- permissions on themes directory
- Categorising themes by folders in backend
- Theme Options Menu Item – Permission Issue
- suspicious boolean.php file in wp web root [closed]
- What is the name of the theme/plugin used for WordPress Answers [closed]
- What theme does this website use? [closed]
- Where can I find the “add_action()” inside a theme?
- Remove ALL HTML from single page
- Remove Google Fonts from parent theme within a child theme [closed]
- Define a Custom Template Part As A Widget Area
- Changing Sidebar In 2023 Theme
- Disabling Full Site Editor (FSE)
- get_post_meta() doesn’t allow email