Skip to content
Read For Learn
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP

wp_insert_post inside save_post adds wrong metadata to inserted post

The reason for that is the save_post loop. When you call wp_insert_post, it triggers save_post and thus inserts the student meta.

what you can do is, to check if the post type is correct while inserting the meta.

like:

add_action( 'save_post', 'save_student_meta', 10, 2 );

function save_student_meta( $post_id, $post ) {
    if ( 'student' !== $post->post_type ) {
        return;
    }
    // Code gathering data form $_POST 

Related Posts:

  1. Set default Custom Post Meta Value
  2. Check if Post Title exists, Insert post if doesn’t, Add Incremental # to Meta if does
  3. Execute action after post is saved with all related post_meta records (data)
  4. advanced custom fields update_field for field type: Taxonomy
  5. Add post meta based on another post meta value before publish post
  6. Get updated post meta on save_post action?
  7. Correct processing of `$_POST`, following WordPress Coding Standards
  8. Delete post meta conditionally after save post
  9. Compare old meta with new post meta
  10. Save post meta foreach loop
  11. troubles with get_post_meta (and saving it)
  12. Insert Custom Field Value
  13. Meta keys won’t add using wp_insert_post
  14. Get post meta after insert post
  15. Update post_meta post_name with the post ID from wp_insert_post after user register
  16. post_title in save_post action
  17. php wp_insert data on front using a form
  18. Auto save title as custom meta field value
  19. Save frontend submission form field as custom field
  20. get_post_meta() returns nothing in save_post, publish_post, wp_after_insert_post
  21. if condition from post_meta not working in save_post
  22. Getting author’s nickname as meta value
  23. Get post meta in function hooked to transition_post_status
  24. How do I retrieve the slug of the current page?
  25. Most efficient way to get posts with postmeta
  26. Get posts by meta value
  27. Explanation of update_post_(meta/term)_cache
  28. How to extract data from a post meta serialized array?
  29. How to update custom fields using the wp_insert_post() function?
  30. Attaching taxonomy data to post with wp_insert_post
  31. Passing error/warning messages from a meta box to “admin_notices”
  32. How to save an array with one metakey in postmeta?
  33. WordPress is stripping escape backslashes from JSON strings in post_meta
  34. How can I get the post ID from a WP_Query loop?
  35. What is “meta_input” parameter in wp_insert_post() used for?
  36. How to update_post_meta value as array
  37. Adding meta tag without plugin
  38. What’s the point of get_post_meta’s $single param?
  39. What is the different between an attachment in wp_posts and an attachment in wp_postmeta?
  40. How to edit a post meta data in a Gutenberg Block?
  41. Sanitizing integer input for update_post_meta
  42. post formats – how to switch meta boxes when changing format?
  43. update_post_meta and update_field ony working when saving the post
  44. Lack of composite indexes for meta tables
  45. Get a single post by a unique meta value
  46. if get_post_meta is empty do something
  47. How we get_post_meta without post id
  48. How get post id from meta value
  49. What is the code to get the download link for a product in WooCommerce?
  50. Safe to delete blank postmeta?
  51. update_post_meta not saving when value is zero
  52. Content hooks vs User hooks
  53. Meta compare with date (stored as string) not working
  54. Trying to get custom post meta through Jetpack JSON API [closed]
  55. How to update/insert custom field(post meta) data with wordpress REST API?
  56. save_post + insert_post = infinite loop
  57. Restrict post edit/delete based on user ID and custom field
  58. get_post_meta returning empty string when data shows in the database
  59. publish_post action hook doesn’t give post_meta_data
  60. Remove WordPress.org Meta link
  61. Remove post meta keys
  62. How to access the post meta of a post that has just been published?
  63. Why time functions show invalid time zone when using ‘c’ time format?
  64. Why is get_post_meta returning an array when I specify it as single?
  65. How to update/delete array in post meta value?
  66. How to get all term meta for a taxonomy – getting term_meta for taxonomy
  67. wp_insert_post() getting slower the more posts
  68. Adding an assisting editor box to Post page
  69. Get updated meta data after save_post hook
  70. Manipulating post meta in the customizer
  71. delete unused postmeta
  72. Should I sanitize custom post meta if it is going to be escaped later?
  73. How do I retrieve multi-dimensional arrays from the wp_postmeta table, & display on a website?
  74. Front-end update_post_meta snippet displays white screen?
  75. Query between two meta values?
  76. Save both current and new version of post meta
  77. Get Advanced Custom Fields values before saving [closed]
  78. Better post meta efficiency?
  79. Give extra post-meta to RSS feeds
  80. How to get meta value in wp_attachment_metadata
  81. update_post_meta() not working in save_post
  82. WP REST API “rest_no_route” when trying to update meta
  83. How do I save each option in a multiple select menu as it’s own meta_key + meta_value pair?
  84. Clean up output added via wp_head()
  85. List posts under meta_value heading
  86. Why am I getting an infinite loop with have_posts?
  87. get_post_meta – get a single value
  88. delete value 0 in post meta [closed]
  89. Can I safely delete a record, manually, in the wp postmeta table?
  90. How to store post meta in an array?
  91. What action hook updates post meta?
  92. Can’t translate the post meta data (Date) in another language
  93. get_post_meta / update_post_meta array
  94. Post meta checkbox becomes unchecked occasionally
  95. wp_insert_posts Fatal error: Maximum function nesting level of ‘100’ reached, aborting!
  96. adding a URL to a post meta
  97. Set Primary category using the Yoast SEO plugin
  98. Exclude a category from the filed under list
  99. Short of raw SQL, can I query for multiple attachment metadata that have a given array key?
  100. How do I access post meta data when publishing a new post in Gutenberg?
Categories post-meta Tags post-meta, save-post, wp-insert-post
How to find php variable of wordpress theme settings
How to display dropdown filters for posts

Recommended Hostings

Cloudways: Realize Your Website's Potential With Flexible & Affordable Hosting. 24/7/365 Support, Managed Security, Automated Backups, and 24/7 Real-time Monitoring.

FastComet: Fast SSD Hosting, Free Migration, Hack-Free Security, 24/7 Super Fast Support, 45 Day Money Back Guarantee.

Recent Added Topics

  • Bug in translation system: load_theme_textdomain() returns true, files are available and accessible but the language defaults to english
  • Post Navigation Elementor
  • Custom Elementor controls not appearing in the widget Advanced tab using injection hooks
  • WPFacet multiple loop displaying duplicate content
  • Get the name of the template/*html file used
  • Fix: WordPress.DB.PreparedSQL.NotPrepared Plugin Check (PCP)
  • Removing unnecessary CSS and JS code from wp_head()
  • hexagonal image gallery. Am I on the right track? [closed]
  • Trying to Add Paging to Single Post Page
  • Sharing media files between live and staging servers
© 2026 Read For Learn
  • Database
    • Oracle
    • SQL
  • algorithm
  • asp.net
  • assembly
  • binary
  • c#
  • Git
  • hex
  • HTML
  • iOS
  • language angnostic
  • math
  • matlab
  • Tips & Trick
  • Tools
  • windows
  • C
  • C++
  • Java
  • javascript
  • Python
  • R
  • Java Script
  • jQuery
  • PHP
  • WordPress