You get the full post object as a second parameter on save_post
. Use it to change the status just like the following code.
add_action( 'save_post', 'wpse_78351_status', 10, 2 );
function wpse_78351_status( $post_ID, $post )
{
remove_filter( current_filter(), __FUNCTION__ );
if ( 'trash' !== $post->post_status ) //adjust the condition
{
$post->post_status="draft"; // use any post status
wp_update_post( $post );
}
}
See this answer for a list of post statuses.
Related Posts:
- How to trap “Publish” button to check for meta box validation?
- What action is called when drafts are saved?
- wp_transition_post_status does not change the status of the post
- How to untrash a post only if it was not a draft?
- Add Password Generator on password protected page
- WordPress publish_post hook not getting featured image and meta on first publish, but works on updating title
- Set page to draft on plugin deactivation
- problem with blank page
- Tracing dashboard publish settings from input form in WordPress
- Plugin SVN folder structure
- Bulk post approval and publishing doesn’t work
- Is There a Plugin Life Cycle Documentation?
- What is the difference between $post_id and get_the_ID()?
- Where to store plugin settings fields
- What is an alternative method to the WordPress private _doing_it_wrong() function
- How can I add columns to the post edit listing to show my custom post data?
- Shortcode adding p and br tags
- Custom frontend page for plugin without a ‘physical’ page?
- Using AJAX in a plugin to submit form – REALLY confused
- Plugin Architecture/Design Pattern – is better to use a private Observer/Mediator Pattern for plugin subclasses or WP add_action?
- Filter to change the content of 404 page
- Conflicting save_post functions when passing the post id and saving custom meta boxes for different post types
- Dynamically override page.php or single.php with custom templates using function
- External Rewrite Rules
- Set first image (external) as featured image / thumbnail
- How to get an image transferred via FTP or script to appear in Media Manager?
- plugin_dir_url() adds path to url
- Does settings API create settings on run time?
- Nuance in adding CPT and TAX to a submenu
- prevent post to have multiple categories in my plugin
- wordpress 3.0 json issue
- How to allow core Gutenberg blocks selection only when you are inside a custom inner block
- How to extend expiry time of jwt wordpress token?
- Coding a plugin on WordPress; when should I sanitize? [duplicate]
- wp_count_posts on all post types?
- $content variable – Is this a reserved variable for a WordPress function? – php / wordpress
- WP REST API V2 – Add user data to response
- Applying OO patterns and principles to plugin development
- Include content of file into plugin (ob_start();;include;ob_get_clean()) without
- How to schedule a cron job in plugin without waiting for page load request?
- Is it possible to change a term slug before being saved to the database?
- How To Change Logout Screen Title
- onclick post title in admin area javascript file not working
- How can I edit commit messages in my wp-hosted plugin repo?
- How to integrate CLEditor to comment system?
- Replace youtube embed in wordpress
- Adding dropdown list to tutor lms registration form
- Admin – Handle data before creating or updating a post, page or custom post
- How to Bind one post object Type with other postobject Type in Advanced Custom field [closed]
- wp_redirect on base wp-admin and login
- As a plugin developer, how do I remove a plugin from the global plugin directory? [duplicate]
- Creating custom input fields on the admin side
- Valid filenames for add_action’s first parameter
- What to hook into to check a value before a post is published?
- How do I access the menus produced by Dashboard > Appearance > Menus
- Correct syntax for database inserts from plugin?
- How to add a gradient component to a custom block
- wp_schedule_event() set daily, but processed every second
- Can’t get AJAX call working in custom plugin
- How leave selected checkboxes marked after they are selected and saved in the database
- Custom avatars in wordpress comments?
- $wpdb->update() always need a second try
- Why aren’t some plugin styles loading when I load a template?
- How to create custom dynamic url
- Pagination not working with custom wp_query
- Any way to update_post_meta with html content? It gets stripped and becomes empty
- How to get the number of pages when paginating comments?
- WordPress actions for plugin admin UI page
- wp_insert_user keeps echoing values
- Getting posts by taxonomy
- Pause plugin option page until all data manipulation is complete
- can members have multiple registration using the same password?
- Exclude Woocommerce Product Category From Sitemap
- WordPress (pagenow link) in ajaxurl change after i change plugin language
- How to show only the last two categories in a menu?
- Get API auth_token token to renew weekly
- howTo let wordpress endpoint return html-page
- User meta query using Wildcard
- use a (Polymer) web component within a plugin (or theme)?
- how to add security questions on wp-registration page and validate it
- wp_ajax add_action fuction won’t fire on custom jQuery action
- Hiding WordPress REST endpoints from public viewing using Basic Authentication
- Customize WordPress Admin Menu
- Dedicated server and WPDB Class : huge slow-down of the website
- How can I see a varibles value when my plugin runs?
- Add Button to TinyMCE Custom Menu
- How should I use wpdb class to submit a form in admin dashboard?
- Rewriting URLs with a query string
- Forcing ALL plugin Admin menus into a separate menu
- Create pages for authors
- How do I create Widget within plugin that uses its own class?
- Looking for Hook that is fired after a plugin or wp upgrade is installed/updated
- How to design WooCommerce-like admin tabs for plugin settings page?
- Woocommerce: block user removing cart item
- WordPress pre-build slider
- Help interpreting @wordpress/create-block-tutorial-template usage error
- Leveraging Core Functionality in Icon Upload Plugin [closed]
- Block Development: hamburger module throwing error in save function
- How can I chanage the user for the composer container in wp-env?
- Adding a navigation with wp_nav_menu() to a custom block in the site editor