Skip Navigation

[Resolved] Cred Form Message Title Auto Fill

This thread is resolved. Here is a description of the problem and solution.

Problem:
How to Auto Fill post title using CRED form

Solution:
You can use CRED API hook "cred_save_data" to customize post title using CRED form when you submit the form.

You can find proposed solution with the following reply:
=> https://toolset.com/forums/topic/cred-form-message-title-auto-fill/#post-605686

Relevant Documentation:
=> https://toolset.com/documentation/programmer-reference/cred-api/#cred_save_data

This support ticket is created 6 years, 3 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10: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/Kolkata (GMT+05:30)

This topic contains 8 replies, has 2 voices.

Last updated by dmitryK-2 6 years, 3 months ago.

Assisted by: Minesh.

Author
Posts
#605402
2018-01-11_14-48-11.png

Tell us what you are trying to do?
I've created CRED form for Contact Us purposes on my site (can be seen here - hidden link)
Also CPT's (Contact Form) & Custom Fields been created:
tscf-your-name
tscf-email
tscf-phone
tscf-topic-radio (as radio-button, with 1,2,3,4,5 values stored in db)
tscf-comments-questions

I've added code provided in message (##375174) - and my Titles of CPT's "Contact Us" stay blank (not filled) after submitting them on front end - THAT's OK, and shows that code works!

function my_save_data_action($post_id, $form_data){
            // Change your CRED Form "ID" accordingly below
            if ($form_data['id']==ID){
                
                //Declare the content of your variables, change "your_custom_field_slug" accordingly
                $custom_title = get_post_meta( $post_id, 'wpcf-your_custom_field_slug', true );
                
                //collect data and define new title
                $my_post = array(
                    'ID'               => $post_id,
                    'post_title'   => $custom_title,
                    'post_name' => $custom_title,
                    
                );
                
                // Update the post into the database
                wp_update_post( $my_post );
                
            }
        }
    add_action('cred_save_data', 'my_save_data_action',10,2);

I'm not very strong in php, can you please help me to adjust that code , so my CPT's "Contact Us" Title being filled like this:
"[postid]+ [tscf-your-name]+ [tscf-topic-radio, I mean 1 or 2 or 3 or whatever user will chose]"

Is there any documentation that you are following?
hidden link
https://toolset.com/forums/topic/automatic-post-titles-with-a-cred-form/

Is there a similar example that we can see?
hidden link

What is the link to your site? hidden link

#605423

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Hello. Thank you for contacting the Toolset support.

Well - I do not able to see the contact form with the link you shared with us:
=> hidden link

is it possible for you to give me access so that I can fix it on your behalf.

*** Please make a FULL BACKUP of your database and website.***
I would also eventually need to request temporary access (WP-Admin and FTP) to your site. Preferably to a test site where the problem has been replicated if possible in order to be of better help and check if some configurations might need to be changed.

I would additionally need your permission to de- and re-activate Plugins and the Theme, and to change configurations on the site. This is also a reason the backup is really important. If you agree to this, please use the form fields I have enabled below to provide temporary access details (wp-admin and FTP).

I have set the next reply to private which means only you and I have access to it.

#605435

Yep fixed (CPT's slug been slightly changed). Now it working. Moment I'll prepare access for you

#605447

Can you please set next reply for private again - so I can send you login info/ Thx

#605449

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

I have set the next reply to private which means only you and I have access to it.

#605461

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Well - wp-admin access details not working. Could you please resend it.

I have set the next reply to private which means only you and I have access to it.

#605672

Dear Manesh, are credentials OK?

#605686

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Yes access details you sent to me in last reply help me to login into wp-admin, so its working.

I've adjusted the code in your functions.php file as given under:

/*Toolset Contact forms*/
		function my_save_data_action($post_id, $form_data){
            // Change your CRED Form "ID" accordingly below
            if ($form_data['id']==48859){
                
                //Declare the content of your variables, change "your_custom_field_slug" accordingly
                $your_name = get_post_meta( $post_id, 'wpcf-tscf-your-name', true );
				$topic_id = get_post_meta( $post_id, 'wpcf-tscf-topic-radio', true );
				
				
				$topic_array = array('1'=>'Задать вопрос','2'=>'Заказать мастер-класс','3'=>'Батчи на заказ','4'=>'Гидролаты на заказ','5'=>'Подарочный набор');
				
				$custom_title = $post_id." - ".$your_name." - ".$topic_array[$topic_id];
                
                //collect data and define new title
                $my_post = array(
                    'ID'               => $post_id,
                    'post_title'   => $custom_title,
                    'post_name' => sanitize_title($custom_title),
                    
                );
                
                // Update the post into the database
                wp_update_post( $my_post );
				                
            }
        }
    add_action('cred_save_data', 'my_save_data_action',10,2);

I can see now its working fine and post title build as per your requirement. Could you please confirm.

#605687

Yes Sir) Perfect!

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.