Well, there’s a lot of code you’ve posted and the reason for the problem is pretty easy to fix (but hard to find).
You have this line in your code:
add_action('save-post','ktechs_save_contact_email_data');
But there is no hook called save-post. It should be save_post. So change the line above to
add_action('save_post', 'ktechs_save_contact_email_data' );
and it should work like a charm.
Related Posts:
- Custom Taxonomy as checkbox or dropdown
- Why won’t my metabox data save?
- How to add meta box to backend menu page
- How to add multiple images to a custom post type single post?
- echo value from ‘select’ field type into page template using cmb2?
- Listing Pages With Checkboxes In a Metabox (and saving them)
- Add metabox with media uploader in a custom post type [duplicate]
- Get all posts from custom post type and insert in select input as metabox
- Best way to arrange custom post types by Attributes -> Order metabox value?
- Add comments meta fields to comments metabox on post edit screen
- Removing Edit Permalink/View “Custom Post Type” areas
- Unable to save custom taxonomy terms in a custom-built metabox
- How to sort CPT by custom meta value (date), and return posts month by month
- Use Custom Post Type as Custom Field
- Saving multiple Metabox contents
- How can I include meta box content when searching?
- Embed ‘New Post’ Form Inside ‘New Post’ Form
- How to stop wordpress from mangling HTML in a metabox textarea
- Relate two custom post type using meta box
- Hiding Metabox from Screen Options Pull Down
- How to: add option to add more checkboxes on custom post type
- how to set default value for checkbox in wordpress
- How can I display my custom metaboxes on a custom post template?
- How can I show/add/save custom metaboxes as an Array of values?
- Unable to show meta box data in frontend
- A good strategy to print custom posts (offer) that are checked inside the metabox of a post?
- window.send_to_editor and jQuery .attr() conflicts with multiple custom upload image meta boxes
- Save an array from drop-down in custom meta box
- Adding dropdown select meta box to custom post type – seems restAPI is interfering
- Keep display metadata value on backend – Custom Metabox
- Populate dropdown from one custom post type inside another custom post type
- Why is my select meta data not saving?
- What is the best way to correlate one-to-many content-type relationships?
- Is it possible to create relational metabox values in a custom post?
- Changing custom type name hides the posts
- Visual editor issue by having multiple tiny mce editors in a CPT
- Meta Query Filtering not working on Custom Meta Box using Radio Buttons
- Grouping metadatas into one
- Anon function and add_meta_box
- Show Custom Post Type meta boxes only on Page Edit
- Adding Page Templates to post but it ignored it
- Parent Page and Breadcrumb URL’s for Custom Post Types Not Working
- Fixed values for same post translations
- Ordering values entered in Custom Taxonomies
- Permalinks: custom structure for taxonomy – tags?
- Custom Post Type & Meta Box – Displaying meta box information on front end?
- Global custom meta box
- Add a custom meta box for client to order CPT posts how they want
- Use remove_meta_box conditionally on custom post type
- create custom meta box with default value
- Issue on Working with Metabox – Checkbox to enable Sale Items
- wysiwyg editor don´t export paragraph
- How to make a meta box?
- Forms and WordPress Nonce
- Why do I have to press the “Update” button twice to save my meta box values?
- Prevent custom post type from showing up in custom menus
- link featured image to external link
- Odd behaviour for the update button when displaying a WP_List_Table
- Creating alternate meta box context locations
- Showing a meta box in a custom post type on a page
- Having Issue on Getting Metabox Checkbox Value
- Custom meta box in custom post type not working
- Multiple wp_editor instances in custom post type using Ajax
- WP_Meta_Query object with conditionals
- I can’t connect my custom jquery to wp admin
- Saving meta box data?
- Updating post content and custom fields in edit post screen
- Add a class to post_class if more than one post shares same meta_value_num
- Function to return values from metabox
- Invalid file type when using wp_upload_bits to upload PDF to a custom post type
- Add a meta field to the list of results for a custom post type
- Metabox does not show in custom post type
- One Custom Post Type two different Templates
- Create a custom post type based on ‘Post’
- How do you make relational post types in WordPress? [duplicate]
- Include a metabox in the ‘home’ screen of a custom post type? If not, then the dashboard page?
- Placing Admin Post Metaboxes in Tabs
- Wp Meta Query does not work while simple Query Works
- How to get custom post type with dynamic ID
- Custom metabox with image gallery upload that won’t attach images to post
- Problem with multi checkboxes value in metabox?
- Wp Query sort order from custom MetaBox
- How to retrieve custom post type permalink in another cpt?
- do action inside a class is not working
- How to add a custom meta box below publish box in CPT that is like publish meta box and can contains html?
- Search form to find custom meta box generated data
- Edit post meta direct from post.php?
- How to Arrange Support => Thumbnail
- Add different meta box based on taxonomy
- Custom metabox value not saving
- Yearly Archive from a custom date metabox (Event Start Date)
- Need to build custom metabox select prev posts by category
- Customized featured image doesn’t refresh in post admin metabox after upload/insert
- Saving custom metabox data with a twist
- loop through custom post-type with two meta_keys
- Custom Post Type + Custom Meta Query Not Showing 2012 Posts
- CPT Template Option to Top
- Use a Variable in update_post_meta as the $meta_key
- Canot save post if any meta box was empty
- How to consume external API from WordPress post editor and display the response data in the custom field?