There’re a couple of libraries out there. One of the more well known is from Joey Kudish and hosted on GitHub itself.
Basically it does the following:
- utilizes the GitHub API
- Adds a callback to the
'pre_set_site_transient_update_plugins'
filter - Adds another callback to the
'plugins_api'
filter - finally utilizes the WP HTTP API and does a
wp_remote_get()
to the GitHub repo.
Oh, yes – close to have forgotten this – it adds a transient to avoid checking the remote repo on every request.
Related Posts:
- Wordpres core-update theme renames theme folder name
- Git ignore everything except custom theme directory
- How to: Update live sites theme from version control repo via plugin or library? [closed]
- Automatic Updates For Private And Commercial Themes?
- Version control for both Vagrant config and themes being developed [closed]
- Avoid theme updates, just one theme
- If I build a custom theme, will it update?
- Same theme name issue with wordpress repository theme
- Show warning if plugin is missing
- How should I be handling my theme version numbering?
- How do i define the location of a git push to WP Engine
- Custom theme updater – random string in new theme name
- Theme Javascript.php Overwritten Nightly [closed]
- Underscore Based Theme File Permissions in Git
- How to upload/update theme from local – bitbucket – shared hosting?
- Is it possible to issue a theme update that requires a new plugin?
- How do I send out an update for my custom wordpress theme?
- When to use add_action(‘init’) vs add_action(‘wp_enqueue_scripts’)
- Change admin bar to default:off
- How to add Color Picker in Theme Options for the following?
- Template for individual post designs
- Theme Review: post thumbnail, header image, content width
- How to determine if a category is empty?
- Enable automatic minor core updates when root of site is a git repository
- The seventh parameter passed to add_submenu_page()
- What would happen if the admin installs a plugin when the plugin is included in the theme?
- How do I get my child-theme to work with my theme’s includes folder?
- wp_insert_post breaks rewrite rules
- Where can I find a good reviewed collection of Twenty Ten child themes?
- How to preset a sidebar widget with default content via script?
- How to use Iris color picker on front-end?
- First post of each category
- create blocks programmtically on theme activation
- How to keep theme layout the same when admin gray bar is present?
- Any tag pagination page (except the 1st page) loads index.php template instead of tag.php
- WordPress default theme css units
- How to remove class attributes from custom menu markup?
- Implement advanced search
- Implement content-nosidebar.php / content-leftsidebar.php
- Where should I update_options in a theme?
- Users table association with users_metadata table appears broken
- multisite: global menu containing network site links?
- Injecting a custom sql query into a page/theme
- What are the Entry classes for?
- Installing WordPress locally
- Custom markup with wp_nav_menu based on pages
- Force Balance Tags not working
- Use second time navigation.js in underscores [closed]
- Template selection area is not visible on page editor sidebar in wordpress twentty sixteen default theme
- Why does has_nav_menu return false when get_registered_nav_menus shows the opposite?
- Displaying icon image for WordPress post formats, is there a cleaner way to do this?
- Overrite parent functions using child functions
- WordPress 3 botches my Custom Meta Box values on Save
- How to seperate static phrases from template files in custom theme?
- Weirdness in jQuery supplied with WordPress
- How can I compare publish and update dates for a single post?
- How to code custom special page
- Displaying the right content on a page url
- Get Post’s Excerpt Without the Wrapping tags and the Read More link
- Is it possible to set a variable for get_post_meta?
- Custom admin logo not showing after wordpress 4.5 upgrade
- Unable to change the priority with ‘remove_action’ and ‘add_action’ in child theme
- Injecting pre-defined text from custom page template to editor
- Remove h1 from 2015 theme
- Only the latest post shows up on post page?
- WordPress pulling in random page themes
- Trouble in enquing all js files under certain directory
- Can’t change theme name
- multiple queries to get posts from same category?
- Stop WordPress from showing images on non post pages
- Parent/Child pages
- enqueuing external and internal js and css in wordpress did not work with owl.js animate.css
- Wrong activation/confirmation link in email
- Disabling wordpress added class
- Problem with pagination link (error 404)
- WordPress wp_get_current_user returning blank values until refresh
- use a single nonce in three different nonce field
- Whether an tag is required in header?
- Theme is Enqueueing Everything in Footer
- Local theme changes upload on server but theme changes not showing
- wp_kses allow checkbox class and checked
- Is wp_mail plugin territory?
- New created Theme leads to malfunctioning Xampp Apache –> functions.php is cause
- Understanding WordPress theme files and underscores
- New theme HTML5 Support for Search in WordPress 4.4
- How do I remove p tag *insertions*? Disabling `wpautop` removes manual tags
- Woocommerce Theme Reviews / Comments
- What hook to use for loading a custom class extension during Theme initialization?
- Moving Posts and Users Only to New Site
- What are these variables and where are they documented?
- Use external fonts in WordPress stylesheet
- Custom link color or stylesheets
- What is the advantage of using home.php over index.php for the front page
- how can I create a WP offline environment before releasing the websites? [closed]
- Why do some sites show themes/”themename” as the only theme?
- How can i move my product name & price from below thumbnail to be the rollover content in Avada & Woocommerce?
- How to send async emails in wordpress?
- ways to create customized theme (hard coded – no pagebuilder)
- Can’t select my block by clicking on it on apiVersion – but using blockProps
- Webpack does not create or update index.asset.php file in build folder