Your approach is good, you should run a basic check against the data tough. Otherwise you might get an array or a serialized object … which might lead to unexpected consequences (including security issues!) when you or someone else is trying to print the values.
Maybe something like this is easier:
$key = '_my_meta_key';
$value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
if ( $value )
update_post_meta( $post_id, $key, $value );
else
delete_post_meta( $post_id, $key );
Note that you should avoid writing the key string more than once. If you ever want to change its name, you should have as few places to search for it as possible. Ideally, just one in your whole code base.
Related Posts:
- How do I retrieve the slug of the current page?
- Most efficient way to get posts with postmeta
- How to extract data from a post meta serialized array?
- How to save an array with one metakey in postmeta?
- WordPress is stripping escape backslashes from JSON strings in post_meta
- What’s the point of get_post_meta’s $single param?
- Lack of composite indexes for meta tables
- Content hooks vs User hooks
- Trying to get custom post meta through Jetpack JSON API [closed]
- Why time functions show invalid time zone when using ‘c’ time format?
- Why is get_post_meta returning an array when I specify it as single?
- Save both current and new version of post meta
- WP REST API “rest_no_route” when trying to update meta
- get_post_meta – get a single value
- Can I safely delete a record, manually, in the wp postmeta table?
- What action hook updates post meta?
- get_post_meta / update_post_meta array
- How do I access post meta data when publishing a new post in Gutenberg?
- Triple meta_key on custom SELECT query
- update_post_meta not adding anything.(Nor add_post_meta)
- Identifying Importer Posts
- How metadata API works?
- How to sanitize post meta field value?
- WordPress Action Hooks and Post ID?
- Post IDs missing on delete_postmeta action hook
- How trigger to save post when updating post meta
- Create a Metabox that behaves Like a Taxonomy Box
- Views count with time limit per IP
- conditional function to change post-meta background image
- Does “update_post_meta” check if value is the same before updating?
- Custom meta field don’t give me numerical value
- how to get all post with the same post meta?
- Echo page title from page with custom meta datetime picker
- MySQL Query To Select Post By Postmeta
- Unset field from an array not working as expected
- Update post_meta with WooCommere variation data
- Copy content stored in meta to post content
- How to programmatically customise the Contact Form7 notification email prior to sending? [closed]
- Saving repeated option values when querying in Published, draft and all
- How to hide meta block(s) in certain post format
- Get a row from a separate table by matching a posts meta_key to a tables ID column
- need some assistance with the checkboxes (selecting/deselecting featured posts)
- get_post_meta() not work for the first post inside the loop
- Adding new value to existing meta key
- how to get a list of meta data fields assocaited with a custom post type
- Gutenberg: How to display meta field data in the block frontend (save function)
- String taken from database table post_meta is showing HTML tags on Frontend
- Delete posts based on post meta data
- Query posts WITHOUT a custom meta field
- Add box with custom per-page properties
- get_post_meta not working when variable used for post ID
- Update post meta dynamically
- How do I edit the posted “by” and “on” in the post meta
- How to delete duplicate records in wp_postmeta database table?
- Need a SQL query to update meta_key=’_price’ with value in meta_key=’_regular_price’
- Display current user’s custom post meta in sidebar
- update_post_meta() adding bits in database [closed]
- Get posts ordered by meta data
- Displaying values from related field – if empty shows current post type’s link and title
- get_post_meta inside echo [closed]
- WordPress postmeta: Store data as an array or single item?
- Display Post Meta in Header
- Array of user ids to list of user names
- Conditional For get_the_author_meta
- Custom fields or something else
- Count Post and Page Views based on meta_value Using Shortcode in Dashboard Widget
- I want to Add Feedburner Right After Meta Details
- if get_post_meta function returns empty – Do Not Display HTML
- Custom column on CPT not showing correct value when meta data not set
- How to access post meta on the first time a post is published
- Removing Malware
- I Can’t get the post_tag name from term_id using wp_set_object_terms
- URL from get_post_meta() is broken my URL
- How to update/add child posts meta whenever the parent post meta is updated?
- How to query post with meta?
- why is my postmeta table is so heavy
- update_post_meta() throws Uncaught error: Cannot create duplicate attribute
- Using a comma instead of a pipe to separate metadata
- Export media library with metadata and import into new blog
- show user based on user_meta
- Meta keys won’t add using wp_insert_post
- Re-pointing images to cloud storage
- undesrtanding get_post_meta function
- How Can I extract Image urls from post meta
- Retrieve posts from meta key
- Assign postmeta in bulk
- Twenty Twelve entry meta data – change and move
- How can I prevent the post_modified column in wp_posts from being updated?
- Sorting meta box values by start- and enddate and all dates in between
- Use an id on a button to update_post_meta in post
- get_post_meta image width for lazy load
- Write query according to post_meta
- Custom Fields help
- Why values dont shows in custom post column?
- get_post_meta of multiple posts?
- WP-API : post_meta not updated… but have another entry
- Parse error thrown by get_post_meta [closed]
- How to get all the related ids without array?
- Remove action of an external plugin after checking if custom post meta is set
- get_post_meta() returns nothing in save_post, publish_post, wp_after_insert_post