At first, every WordPress programmer continues to use custom fields but is unaware of it. As a newbie, we do not understand the concept of meta fields or custom fields. The add_post_meta function in WordPress is basically one of the post meta functions.
The basic concept behind it is that when we use it in our theme code, or as a plugin, it basically adds meta fields to the post itself.
A meta is a term that can refer to data about data or data about data. Meta data is extra information that is added to a post to make it more flexible. This platform is based on the metadata design pattern. WordPress platform.
Let’s understand, What is a custom field?
In other words, when we use post meta, we actually create custom fields or metadata for a post. We can use woocommerce as an example because the product type, price, etc are all custom fields. This post meta goes in the wp_postmeta table.
How to use wordpress get_post_meta
In this function, we retrieve the post meta field for the given post ID. This function returns all data if no specific provided. Single if true then it only returns single for multiple keys of post.
function get_post_meta( $post_id, $key = ”, $single = false )
There is two more function get_post_custom_keys() and get_post_custom_values()
First one fetch all meta field names for given post and second one get all custom values of a given post.
How to add and update the Post Meta data in the right way
In this case, you would use update_post_meta() to update the value of a custom field that already exists, and you would use add_post_meta to add a new custom field.
Let’s understand the arguments that can be passed to this function. The function can take four parameters.
function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false )
- The post ID is the identifier for the post for which we are creating metadata
- Next is meta_key. This is a key that is required for saving values. The value would be stored against this key. It means we can easily get the value by using meta_key as a key.
- Meta_value is the value that we are going to store.
- Unique means Whether the same key should not be added. This is an optional parameter.
function update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = ” )
Using this function, you can update a post meta field based on the given post ID. You can use the “$prev_value” parameter in order to differentiate between meta fields that share the same key and post ID.
What to do when you want to delete custom fields values
As its name suggests, it deletes a post meta field for the given post ID. We can match by key or both key and value. When we pass key value it will keep from removing duplicate metadata with the same key. We have to pass post id and meta key meta value is Optional here.
function delete_post_meta( $post_id, $meta_key, $meta_value = ” )
It returns true on success and false on failure.
Clean post meta by meta key.
You can use delete_post_meta_by_key() to clear all rows which contain meta key as a key. It would delete all post meta that have a specific key.
How to use Hidden Custom Fields
When you toggle for custom fields in the post edit page you generally see at the bottom list of custom fields key and value but let’s assume you would not want to show key there.
Then we use the hidden key feature of wordpress as a custom field. We have to use a `_` before the key name.
add_post_meta( 15, ‘_size’, ‘large’, true );
It creates a custom field named _size with the value large, but does not appear in the post edit screen.
This concludes this article. If you have any further questions, please contact us as soon as possible. Don’t forget to check how easy to get category name in wordpress.