CARVIEW |
Select Language
HTTP/2 200
content-encoding: gzip
vary: Accept-Encoding,User-Agent
set-cookie: lfuser=null; expires=Mon, 15-Sep-2025 23:59:42 GMT; Max-Age=0; path=/; secure
set-cookie: lfpass=null; expires=Mon, 15-Sep-2025 23:59:42 GMT; Max-Age=0; path=/; secure
cache-control: max-age=600
expires: Thu, 16 Oct 2025 00:09:42 GMT
content-type: text/html; charset=UTF-8
date: Wed, 15 Oct 2025 23:59:42 GMT
server: Apache
save_post Wordpress hook details -- Adam Brown, BYU Political Science
WordPress hook directory
WP hooks navigation: Home/browse • Actions index • Filters index
WordPress hook directory
save_post
Description
Runs whenever a post or page is created or updated, which could be from an import, post/page edit form, xmlrpc, or post by email. Action function arguments: post ID and post object.
This description was scraped automatically from the WordPress filter reference or action reference. If it looks like this is the wrong description, please tell me so I can fix my code.
WordPress version history for save_post
This database has information for all major versions from WP 1.2.1 through 6.7.
Version | File | Line | Type | |
---|---|---|---|---|
1.5.2 | wp-admin/post.php | 193 | View in context | action |
2.0 | wp-includes/functions-post.php | 206 | View in context | action |
2.0.11 | wp-includes/functions-post.php | 208 | View in context | action |
2.1 | wp-includes/post.php | 706 | View in context | action |
2.2 | wp-includes/post.php | 708 | View in context | action |
2.3 | wp-includes/post.php | 769 | View in context | action |
2.3 | wp-includes/post.php | 833 | View in context | action |
2.5 | wp-includes/post.php | 1327 | View in context | action |
2.5 | wp-includes/post.php | 1421 | View in context | action |
2.6 | wp-includes/post.php | 1412 | View in context | action |
2.6 | wp-includes/post.php | 1506 | View in context | action |
2.7 | wp-includes/post.php | 1528 | View in context | action |
2.7 | wp-includes/post.php | 1617 | View in context | action |
2.8 | wp-includes/post.php | 1600 | View in context | action |
2.8 | wp-includes/post.php | 1692 | View in context | action |
2.9 | wp-includes/post.php | 1811 | View in context | action |
2.9 | wp-includes/post.php | 1903 | View in context | action |
3.0 | wp-includes/post.php | 2383 | View in context | action |
3.0 | wp-includes/post.php | 2475 | View in context | action |
3.1 | wp-includes/post.php | 2623 | View in context | action |
3.1 | wp-includes/post.php | 2715 | View in context | action |
3.2 | wp-includes/post.php | 2657 | View in context | action |
3.2 | wp-includes/post.php | 2749 | View in context | action |
3.3 | wp-includes/post.php | 2656 | View in context | action |
3.3 | wp-includes/post.php | 2742 | View in context | action |
3.4 | wp-includes/post.php | 2698 | View in context | action |
3.4 | wp-includes/post.php | 2784 | View in context | action |
3.5 | wp-includes/post.php | 2950 | View in context | action |
3.6 | wp-includes/post.php | 2882 | View in context | action |
3.6 | wp-includes/post.php | 2974 | View in context | action |
3.7 | wp-includes/post.php | 2954 | View in context | action |
3.7 | wp-includes/post.php | 3047 | View in context | action |
3.8 | wp-includes/post.php | 2961 | View in context | action |
3.8 | wp-includes/post.php | 3054 | View in context | action |
3.9 | wp-includes/post.php | 3248 | View in context | action |
3.9 | wp-includes/post.php | 3353 | View in context | action |
4.0 | wp-includes/post.php | 3504 | View in context | action |
4.0 | wp-includes/post.php | 3613 | View in context | action |
4.1 | wp-includes/post.php | 3499 | View in context | action |
4.1 | wp-includes/post.php | 3608 | View in context | action |
4.2 | wp-includes/post.php | 3541 | View in context | action |
4.2 | wp-includes/post.php | 3650 | View in context | action |
4.3 | wp-includes/post.php | 3591 | View in context | action |
4.3 | wp-includes/post.php | 3700 | View in context | action |
4.4 | wp-includes/post.php | 3385 | View in context | action |
4.4 | wp-includes/post.php | 3494 | View in context | action |
4.5 | wp-includes/post.php | 3529 | View in context | action |
4.5 | wp-includes/post.php | 3638 | View in context | action |
4.6 | wp-includes/post.php | 3409 | View in context | action |
4.6 | wp-includes/post.php | 3518 | View in context | action |
4.7 | wp-includes/post.php | 3505 | View in context | action |
4.7 | wp-includes/post.php | 3614 | View in context | action |
4.7 | wp-includes/theme.php | 2894 | View in context | action |
4.8 | wp-includes/post.php | 3510 | View in context | action |
4.8 | wp-includes/post.php | 3619 | View in context | action |
4.8 | wp-includes/theme.php | 2915 | View in context | action |
4.9 | wp-includes/class-wp-customize-manager.php | 2967 | View in context | action |
4.9 | wp-includes/post.php | 3581 | View in context | action |
4.9 | wp-includes/post.php | 3690 | View in context | action |
5.0 | wp-includes/class-wp-customize-manager.php | 2974 | View in context | action |
5.0 | wp-includes/post.php | 3747 | View in context | action |
5.0 | wp-includes/post.php | 3856 | View in context | action |
5.1 | wp-includes/class-wp-customize-manager.php | 3019 | View in context | action |
5.1 | wp-includes/post.php | 3951 | View in context | action |
5.1 | wp-includes/post.php | 4069 | View in context | action |
5.2 | wp-includes/class-wp-customize-manager.php | 3019 | View in context | action |
5.2 | wp-includes/post.php | 3951 | View in context | action |
5.2 | wp-includes/post.php | 4069 | View in context | action |
5.3 | wp-includes/class-wp-customize-manager.php | 3056 | View in context | action |
5.3 | wp-includes/post.php | 4119 | View in context | action |
5.3 | wp-includes/post.php | 4238 | View in context | action |
5.4 | wp-includes/class-wp-customize-manager.php | 3060 | View in context | action |
5.4 | wp-includes/post.php | 4144 | View in context | action |
5.4 | wp-includes/post.php | 4277 | View in context | action |
5.5 | wp-includes/class-wp-customize-manager.php | 3101 | View in context | action |
5.5 | wp-includes/post.php | 4260 | View in context | action |
5.5 | wp-includes/post.php | 4396 | View in context | action |
5.6 | wp-includes/class-wp-customize-manager.php | 3103 | View in context | action |
5.6 | wp-includes/post.php | 4309 | View in context | action |
5.6 | wp-includes/post.php | 4483 | View in context | action |
5.7 | wp-includes/class-wp-customize-manager.php | 3103 | View in context | action |
5.7 | wp-includes/post.php | 4384 | View in context | action |
5.7 | wp-includes/post.php | 4558 | View in context | action |
5.8 | wp-includes/class-wp-customize-manager.php | 3103 | View in context | action |
5.8 | wp-includes/post.php | 4468 | View in context | action |
5.8 | wp-includes/post.php | 4642 | View in context | action |
5.9 | wp-includes/class-wp-customize-manager.php | 3103 | View in context | action |
5.9 | wp-includes/post.php | 4686 | View in context | action |
5.9 | wp-includes/post.php | 4860 | View in context | action |
6.0 | wp-includes/class-wp-customize-manager.php | 3107 | View in context | action |
6.0 | wp-includes/post.php | 4673 | View in context | action |
6.0 | wp-includes/post.php | 4847 | View in context | action |
6.1 | wp-includes/class-wp-customize-manager.php | 3108 | View in context | action |
6.1 | wp-includes/post.php | 4717 | View in context | action |
6.1 | wp-includes/post.php | 4891 | View in context | action |
6.2 | wp-includes/class-wp-customize-manager.php | 3108 | View in context | action |
6.2 | wp-includes/post.php | 4715 | View in context | action |
6.2 | wp-includes/post.php | 4889 | View in context | action |
6.3 | wp-includes/class-wp-customize-manager.php | 3114 | View in context | action |
6.3 | wp-includes/post.php | 4751 | View in context | action |
6.3 | wp-includes/post.php | 4925 | View in context | action |
6.4 | wp-includes/class-wp-customize-manager.php | 3112 | View in context | action |
6.4 | wp-includes/post.php | 4760 | View in context | action |
6.4 | wp-includes/post.php | 4934 | View in context | action |
6.5 | wp-includes/class-wp-customize-manager.php | 3113 | View in context | action |
6.5 | wp-includes/post.php | 4828 | View in context | action |
6.5 | wp-includes/post.php | 5002 | View in context | action |
6.6 | wp-includes/class-wp-customize-manager.php | 3118 | View in context | action |
6.6 | wp-includes/post.php | 4891 | View in context | action |
6.6 | wp-includes/post.php | 5065 | View in context | action |
6.7 | wp-includes/class-wp-customize-manager.php | 3118 | View in context | action |
6.7 | wp-includes/post.php | 5060 | View in context | action |
6.7 | wp-includes/post.php | 5234 | View in context | action |
Related Hooks
We find related hooks using word stems. save_post has 2 significant word stem(s): save
, post
. Note that some of the hooks below may not appear in all versions of WP.
- Hooks with 2 identical stems
- Hooks with 1 identical stem
- _wp_post_revision_field_{$field}
- _wp_post_revision_fields
- _wp_put_post_revision
- add_meta_boxes_{$post_type}
- admin_post
- admin_post_nopriv
- admin_post_nopriv_{$action}
- admin_post_thumbnail_html
- admin_post_thumbnail_size
- admin_post_{$action}
- after_delete_post
- app_publish_post
- atompub_create_post
- atompub_put_post
- attachment_fields_to_save
- auth_post_meta_{$meta_key}
- auth_post_{$post_type}_meta_{$meta_key}
- before_delete_post
- begin_fetch_post_thumbnail_html
- bulk_post_updated_messages
- category_save_pre
- clean_post_cache
- close_comments_for_post_types
- comment_post
- comment_post_redirect
- comment_save_pre
- content_filtered_save_pre
- content_save_pre
- customize_changeset_save_data
- customize_post_value_set
- customize_post_value_set_{$setting_id}
- customize_save
- customize_save_after
- customize_save_response
- customize_save_validation_before
- customize_save_{$id_base}
- customize_save_{$this->id_data[base]}
- dbx_post_advanced
- dbx_post_sidebar
- default_category_post_types
- delete_post
- delete_post_{$post->post_type}
- deleted_post
- deleted_post_{$post->post_type}
- display_post_states
- edit_post
- edit_post_link
- edit_post_{$field}
- edit_post_{$post->post_type}
- edit_{$post_type}_per_page
- enable_post_by_email_configuration
- end_fetch_post_thumbnail_html
- excerpt_save_pre
- feed_links_extra_show_post_comments_feed
- feed_links_extra_show_post_type_archive_feed
- format_to_post
- get_delete_post_link
- get_edit_post_link
- get_next_post_join
- get_next_post_sort
- get_next_post_where
- get_post_galleries
- get_post_gallery
- get_post_modified_time
- get_post_status
- get_post_time
- get_previous_post_join
- get_previous_post_sort
- get_previous_post_where
- get_the_post_type_description
- get_{$adjacent}_post_excluded_terms
- get_{$adjacent}_post_join
- get_{$adjacent}_post_sort
- get_{$adjacent}_post_where
- has_post_thumbnail
- hierarchical_post_types
- http_transport_post_debug
- image_editor_save_pre
- image_save_pre
- image_save_progressive
- import_post_added
- import_post_meta
- import_post_meta_key
- is_post_status_viewable
- is_post_type_viewable
- lostpassword_post
- manage_taxonomies_for_{$post_type}_columns
- manage_{$post->post_type}_posts_custom_column
- manage_{$post_type}_posts_columns
- name_save_pre
- nav_menu_items_{$post_type_name}
- nav_menu_items_{$post_type_name}_recent
- notify_post_author
- oembed_request_post_id
- old_slug_redirect_post_id
- override_post_lock
- parent_post_rel_link
- pingback_post
- post-flash-upload-ui
- post-html-upload-ui
- post-plupload-upload-ui
- post-upload-ui
- post_action_{$action}
- post_class
- post_class_taxonomies
- post_column_taxonomy_links
- post_comment_status_meta_box-options
- post_comment_text
- post_comments_feed_link
- post_comments_feed_link_html
- post_comments_link
- post_date_column_status
- post_date_column_time
- post_edit_category_parent_dropdown_args
- post_edit_form_tag
- post_embed_url
- post_format_rewrite_base
- post_gallery
- post_limits
- post_limits_request
- post_link
- post_link_category
- post_lock_lost_dialog
- post_locked_dialog
- post_mime_type_pre
- post_mime_types
- post_password_expires
- post_password_required
- post_playlist
- post_relatedlinks_list
- post_rewrite_rules
- post_row_actions
- post_search_columns
- post_stati
- post_stuck
- post_submitbox_minor_actions
- post_submitbox_misc_actions
- post_submitbox_start
- post_thumbnail_html
- post_thumbnail_id
- post_thumbnail_size
- post_thumbnail_url
- post_type_archive_feed_link
- post_type_archive_link
- post_type_archive_title
- post_type_labels_{$post_type}
- post_type_link
- post_types_to_delete_with_user
- post_unstuck
- post_updated
- post_updated_messages
- post_{$field}
- pre_comment_on_post
- pre_delete_post
- pre_get_available_post_mime_types
- pre_post_link
- pre_post_update
- pre_post_{$field}
- pre_trackback_post
- pre_trash_post
- pre_untrash_post
- pre_wp_list_authors_post_counts_query
- pre_wp_unique_post_slug
- press_this_save_redirect
- preview_post_link
- publish_post
- quick_edit_enabled_for_post_type
- redirect_post_location
- register_post
- register_post_type_args
- register_{$post_type}_post_type_args
- registered_post_type
- registered_post_type_{$post_type}
- render_block_core_template_part_post
- rest_after_insert_{$this->post_type}
- rest_after_save_widget
- rest_delete_{$this->post_type}
- rest_insert_{$this->post_type}
- rest_post_dispatch
- rest_post_format_search_query
- rest_post_search_query
- rest_pre_insert_{$this->post_type}
- rest_prepare_post_type
- rest_prepare_{$this->post_type}
- rest_route_for_post
- rest_route_for_post_type_items
- rest_save_sidebar
- rest_{$this->post_type}_collection_params
- rest_{$this->post_type}_item_schema
- rest_{$this->post_type}_query
- rest_{$this->post_type}_trashable
- show_post_locked_dialog
- single_post_title
- status_save_pre
- swfupload_post_params
- the_post
- the_post_thumbnail_caption
- theme_{$post_type}_templates
- title_save_pre
- trackback_post
- transition_post_status
- trash_post
- trash_post_comments
- trashed_post
- trashed_post_comments
- twenty_twenty_one_can_show_post_thumbnail
- twentynineteen_can_show_post_thumbnail
- twentytwenty_disallowed_post_types_for_meta_output
- twentytwenty_end_of_post_meta_list
- twentytwenty_post_meta_location_single_bottom
- twentytwenty_post_meta_location_single_top
- twentytwenty_start_of_post_meta_list
- unregistered_post_type
- untrash_post
- untrash_post_comments
- untrashed_post
- untrashed_post_comments
- update_post_term_count_statuses
- upgrader_post_install
- upload_post_params
- use_block_editor_for_post
- use_block_editor_for_post_type
- view_mode_post_types
- wp_after_insert_post
- wp_ajax_crop_image_pre_save
- wp_check_post_lock_window
- wp_delete_post_revision
- wp_insert_post
- wp_insert_post_data
- wp_insert_post_empty_content
- wp_insert_post_parent
- wp_list_table_show_post_checkbox
- wp_post_revision_meta_keys
- wp_post_revision_title_expanded
- wp_restore_post_revision
- wp_save_image_editor_file
- wp_save_image_file
- wp_sitemaps_post_types
- wp_trash_post
- wp_unique_post_slug
- wp_unique_post_slug_is_bad_attachment_slug
- wp_unique_post_slug_is_bad_flat_slug
- wp_unique_post_slug_is_bad_hierarchical_slug
- wp_untrash_post_status
- wp_{$post->post_type}_revisions_to_keep
- xmlrpc_default_post_fields
- xmlrpc_prepare_post
- xmlrpc_prepare_post_type
- xmlrpc_publish_post
- xmlrpc_wp_insert_post_data
- {$adjacent}_post_link
- {$adjacent}_post_rel_link
- {$boundary}_post_rel_link
- {$field_no_prefix}_save_pre
- {$new_status}_{$post->post_type}