Skip Navigation

[Gelöst] Save child name with parent post data

This support ticket is created vor 5 Jahre, 9 Monate. There's a good chance that you are reading advice that it now obsolete.
Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Karachi (GMT+05:00)

Dieses Thema enthält 0 Antworten, hat 1 Stimme.

Zuletzt aktualisiert von davidZ-4 vor 5 Jahre, 9 Monate.

Assistiert von: Waqar.

Author
Artikel
#1160469

Tell us what you are trying to do? get_post_meta from parent when saving new child using cred form

Is there any documentation that you are following?
https://toolset.com/documentation/customizing-sites-using-php/post-relationships-api/#toolset_get_related_post
https://toolset.com/forums/topic/getting-parent_id-in-toolset-3-0-using-get_post_meta-function/
https://toolset.com/forums/topic/cannot-get-parent-post-id-on-cred_save_data-with-new-relationships-api/#post-1121934
https://toolset.com/forums/topic/get-post-parent-witn-new-relationship-model-php/#post-909071

Is there a similar example that we can see?
https://toolset.com/documentation/customizing-sites-using-php/displaying-parent-posts/

What is the link to your site?
versteckter Link

i tried to get the parent post id using a few methods in order to retrieve parent post metadata to be used in the name of the child post created with cred form

here is the code i used:

//Create a dynamic post title by the CRED form.
add_action('cred_save_data', 'func_custom_post_title', 50, 2);
function func_custom_post_title($post_id, $form_data)
{
	$author = get_the_author();
	$user_id =  get_the_author_meta('ID');
	//if new client - PARENT NAMING - THIS if STATEMENT IS WORKING JUST FINE
	if ($form_data['id'] == 283 ) {
		$author = get_the_author();
		$user_id =  get_the_author_meta('ID');
		$post_type = get_post_type( $post_id ); 
		$cfn = get_post_meta($post_id, 'wpcf-client-first-name', true);
		$cln = get_post_meta($post_id, 'wpcf-client-last-name', true);
		$cshrtid = get_post_meta($post_id, 'wpcf-client-id-number', true);
		$title = $cfn.' '.$cln.' '.$user_id.'-'.$cshrtid.'-'.$post_id;
		$slug = sanitize_title($title);
		$args = array('ID' => $post_id, 'post_title' => $title, 'post_name'=>$slug);
		wp_update_post($args);
	}
	//if new portfolio - CHILD NAMING - THIS if STATEMENT DOES NOT GET THE PARENT POST ID
	if ($form_data['id'] == 386 ) {
		//get data from parent post
		$parent_post_id = toolset_get_related_post($post_id, 'client-client-portfolio' );
	
		$cfn = get_post_meta($parent_post_id, 'wpcf-client-first-name', true);
		$cln = get_post_meta($parent_post_id, 'wpcf-client-last-name', true);
		$cshrtid = get_post_meta($parent_post_id, 'wpcf-client-id-number', true);
		//get data from current post		
		$post_type = get_post_type( $post_id );
		// Get the title of the parent (client) post
		$title = $cfn.' '.$cln.' '.$user_id.'-'.$cshrtid.'-'.$parent_post_id.'-P'.$post_id;
		$slug = sanitize_title($title);
		$args = array('ID' => $post_id, 'post_title' => $title, 'post_name'=>$slug);
		wp_update_post($args);
	}
}

after the post is created i see that the name doesn't have the parent post metadata i was looking for.
i tried many variations to get the parent post id with no success.

Please advise,
thanks,
David

Dieses Ticket ist jetzt geschlossen. Wenn Sie ein Toolset Kunde sind und Hilfe benötigen, eröffnen Sie bitte ein neues Support-Ticket.