You are asking two questions. The one being how can you test an update and the other being how can you run code after an update.
You can test a theme update by pushing the updates out your self and testing it if it works. You can do that by using GitHub Updater.
If you want to run code only after a upgrade there is no core solution. There are two ways it could work.
- You save the theme version to the database as with this you can calculate what version or update it is and then run the update code.
- If you are including new options in the update you could check if the new options exist yet and if not then run the update code.
I think the after_setup_theme
should be fine.
Related Posts:
- Upgrade from 5.0.4 to 5.1.1 causes $theme to be null
- Installing WordPress Theme Unit Data
- Fatal error: Maximum execution time of 60 seconds exceeded in H:\wamp\www\custom\wp-includes\class-wp-http-curl.php
- Upgrading a custom theme through the Dashboard
- Theme unit test data Foreign fonts come in garbled on my machine
- How exactly *does* unit testing work for themes?
- WP 3.1 upgrade breaks AutoFocus+ theme
- Execute upgrade-theme with coding
- after renaming my wp-content folder, how do I upgrade my wordpress version?
- Custom theme updater – random string in new theme name
- Using My Own Classes On Wp Unit Tests
- Fastest way to update a theme
- Updatable theme developing
- Do core themes normally allow automatic upgrades?
- Menu items description? Custom Walker for wp_nav_menu()
- How to define and link full path to css located at a random folder on header.php
- Sizing screenshot.png without losing aspect ratio
- Software for WordPress Theme and Plugin Development? [closed]
- When to use is_home() vs is_front_page()?
- What is the preferred way to add custom javascript files to the site?
- Get the blog page URL set in Options
- How to create .pot files with POedit?
- How do I get the theme URL in PHP?
- Why when I submit a form in wordpress it loads a 404 page though URL is correct
- What is the constant WP_USE_THEMES for?
- Worthwhile to restrict direct access of theme files?
- How Do I Protect My Premium WordPress App Theme from Copying?
- How to detect mobile devices and present them a specific theme?
- Using wp_add_inline_style without a stylesheet
- How to add posts to custom menus?
- WordPress Theme Preview Image
- How To extend WP_Customize_Control
- What is the difference between front-page.php and home.php? [duplicate]
- How can I get page slug
- Does the functions.php file ever get called during an AJAX call? Debug AJAX
- When to use _e and __ for the translation?
- What is a Theme textdomain?
- How to show a custom meta box on the “Quick Edit” screen?
- How to add CSS class to custom logo?
- How to add custom css file in theme?
- How important is it to enqueue a theme’s stylesheet?
- CSS not updating in browser when I change it
- Display Search Result Count
- wp_nav_menu(), how to change class?
- theme path in javascript file
- Is wp_is_mobile() effective?
- Display Menu Name using wp_nav_menu
- Making update notification functionality for my themes
- What questions do you ask when asked to give an estimate on theme development?
- How to remove dashicons.min.css from frontend?
- How do I remove a pre-existing customizer setting?
- Minimum Template Files for Theme Development
- What’s the difference between home.php and index.php?
- pass object/JSON to wp_localize_script
- get_template_part vs action hooks in themes
- Theme Activate Hook
- Solutions for generating dynamic javascript / CSS
- wp_redirect() – headers already sent
- Can I create my own “Recent Posts” widget or customize the existing one?
- Custom single template for a specific category
- how can I add an icon/image for a child theme?
- How can I add a URL field to the attachments window?
- The the_post_thumbnail without srcset?
- The proper way to include/require PHP files in WordPress
- Get the first image from post content (eg.: hotlinked images)
- after_setup_theme always runs
- When to use add_action(‘init’) vs add_action(‘wp_enqueue_scripts’)
- Getting failure when using filemtime() with wp_enqueue_style
- Do I actually need to link my theme’s style.css in the theme files
- Why is wp_head() creating a top margin at the top of my theme header?
- How to store widget fields data as an array?
- How do I add version control to my workflow?
- Using classes instead of global functions in functions.php
- WordPress API Menu/Submenu Order
- How can I display a menu on certain pages only?
- Enqueue a stylesheet for login page and make it appear in head element
- Adding a div to wrap widget content after the widget title
- How to insert a logo in the header?
- How to set permalink structure via functions.php
- What is $post_id? is it a global variable in WordPress?
- How to override pluggable function in theme?
- How to move page template files like page-{slug}.php to a sub-directory?
- WooCommerce shop page to use my custom template [closed]
- Theme customizer – settings order
- What is the difference between wp_register_sidebar_widget and register_widget?
- Should we use get_template_part() in functions files instead of include_once?
- Reset positions of metaboxes in admin
- CSS classes for theme
- “Quick Edit” > update clears out my custom meta values
- How to enqueue script if widget is displayed on page?
- Custom Image section in Customizer
- A way to automatically install pages on theme install?
- Get entered value of customiser field for live preview
- Add custom classes to anchor in wp_nav_menu
- How to remove search bar from a wordpress theme? [closed]
- Bestway To Define Theme and Plugin path and url
- Is there a has_more_tag() method or equivalent?
- With WordPress themes, where do I store the images and files relatively?
- Form to Add Posts to Custom Post Type
- What are the advantages and disadvantages of Option Tree over the Customization API?