Home › Forums › Add-ons › Repeater Field › set_sub_field? add_sub_field?
I’m trying to sync data and the fields I want to change reside in a repeater field.
How do I go about setting the properties of a sub_field programmatically?
And is it possible to create a new repeater object programmatically as well?
$newValue = 'XYZ';
if( get_field('repeater') )
{
while( has_sub_field('repeater') )
{
$variable = get_sub_field('sub_field');
if($variable !=== $newValue){
// set new value
set_sub_field('sub_field', $newValue);
}
}
} else {
// add new entry if not found
add_sub_field('repeater', array('sub_field' => $newValue));
}
Hi @jgraup
For updating a sub field, you could use update_sub_field(...)
method. Here is the link: update_sub_field()
And creating a repeater field programmatically is possible. Export the PHP code. From your wp-admin, go to Custom fields > import/export. To update the data for the repeater field, use update_field(...)
method. Make sure to use the $field_key
for the reference. Have a look at the docs for more info: update_field()
Thank-you. I’m not sure how I missed update_sub_field(...)
but I did. After messing with this stuff I found a much easier solution using the get_field_object(...)
and update_field(...)
$repeater = 'tracks';
// get the object w/info and value
$rObj = get_field_object($repeater, $video_id);
$rKey = $rObj['key'];
$rValue = $rObj['value'];
// adjust the value of any object/row directly
$rValue[0]['srclang'] = 'pwnd';
// add new object/row to the repeater field
$rValue[]=array(
'label' => 'The label',
'src' => 'The src',
'srclang' => 'The srclang',
'kind' => 'captions');
// update the repeater
update_field($rKey,$rValue,$video_id);
The topic ‘set_sub_field? add_sub_field?’ is closed to new replies.
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 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 Privacy Policy. If you continue to use this site, you consent to our use of cookies.