Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialBoris Kamp
16,660 PointsCreate/update post title from ACF fields
Hi guys!
I've this code in order to successfully update the post title of my manufacturer
and product
post types:
//Auto add and update Title field:
function my_post_title_updater( $post_id ) {
$my_post = array();
$my_post['ID'] = $post_id;
$manufacturer = get_field('manufacturer');
$target_product = get_field('target_product');
$manufacturer_target = get_field('manufacturer', $target_product);
if ( get_post_type() == 'manufacturer' ) {
$my_post['post_title'] = get_field('manufacturer_name');
} elseif ( get_post_type() == 'products' ) {
$my_post['post_title'] = get_field('kitName') . ' (' . get_field('manufacturer_name', $manufacturer->ID) . ' ' . get_field('kitNumber') . ')';
} elseif ( get_post_type() == 'reviews' ) {
$my_post['post_title'] = get_field('kitName', $target_product->ID) . ' (' . get_field('manufacturer_name', $manufacturer_target->ID) . ' ' . get_field('kitNumber', $target_product->ID) . ')';
}
// Update the post into the database
wp_update_post( $my_post );
}
// run after ACF saves the $_POST['fields'] data
add_action('acf/save_post', 'my_post_title_updater', 20);
However, my latest elseif
statement fails miserably! for the reviews
posts type im trying to concatenate:
<ol>
<li>the kitName
field from a relationship object (product
post type object) so thats one layer deep: review > product </li>
<li>the manufacturer_name
field from the manufacturer field (manufacturer
post object) of the product
relationship mentioned directly above here. so that one is two layers deep: review > product > manufacturer</li>
<li>the kitNumber
field from a relationship object (product
post type object) so thats one layer deep: review > product </li>
</ol>
with I get the following error: Trying to get property of non-object
. So basically it's telling me it expect an object but gets something else and thus cannot process the function, however, i have the return format
of the relationship set to object
, so I have no idea what I'm doing wrong here!?
can anybody help me out please? thanks a lot!