Home › Forums › General Issues › New field not saved in database › Reply To: New field not saved in database
While @gummi’s solution will get you there, I think that it’s always better to code this, especially when dealing with new values. As a developer and programmer it’s not a good programming practice to assume that a value will always be present.
$value = get_field('field_name');
if (!$value) {
$value = 'some default value';
}
Yes, this does mean a little more code, but it’s a lot less work than updating every post on a site to have the default value.
If you have thousands of posts on a large site there’s a good chance that the loop and update will time out the site. If you are going to do the update method I would suggest altering the query to only get posts where no value exists as it will get less posts and if it times out you can reload the page until it completes.
// 1. get all the posts first
$allPosts = new WP_Query([
'post_type' => 'post', // assuming your field is added on 'post' post type
'posts_per_page' => -1,
'meta_query' => array(
'key' => 'your field name here',
'compare' => NOT EXISTS'
)
]);
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We’re hard at work on ACF 6.1, and Beta 1 is now available 🚀
— Advanced Custom Fields (@wp_acf) March 16, 2023
This release includes custom post type and taxonomy registration, an improved experience when selecting field types, PHP 8.1 and 8.2 compatibility, and more!
Let’s take a look 🧵https://t.co/Y0WcAT11l4
© 2023 Advanced Custom Fields.
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.