Jeg skal lage et kontaktskjema i Wordpress med Gravity Forms som automatisk poster tickets i Zendesk, Men får error. Fatal error: Call to undefined function ZD_contactus_curlWrap() in/home/webforum/public_html/webhotell/wp-content/themes/aquamag-child/functions.phpon line49 Her er koden som limes inn i function.php: Kode: /* * ZENDESK API */ define("ZDAPIKEY", "wEfhLXe7h81qhahahahahahandQRuSZ3g71DzN3ACOw"); define("ZDUSER", "post@lykkemedia.no"); define("ZDURL", "https://lykkemedia.zendesk.com/api/v2"); /* * Here goes the Gravity Forms Functions */ add_action("gform_after_submission_1", "send_contact_to_zendesk", 10, 2); // Invoke ZENDESK for form #1 add_action("gform_after_submission_1", "ult_cu_disable_post_creation", 20, 2); // Disable entry creation for FROM id #1 /* * Deletes entry created in WordPress Dashboard */ function ult_cu_disable_post_creation( $entry, $form ) { GFAPI::delete_entry( $entry['id'] ); } /* * Prepares and sends data to Zendesk */ function send_contact_to_zendesk($entry,$form){ $create = json_encode( array( 'ticket' => array( 'subject' => $entry[1]. '-' .$entry[8], // Title of ticket ids of fields you need in subject field ours was type of request - message title 'comment' => array( "value"=> $entry[2] // content of the ticket ), 'requester' => array( 'name' => $entry[3], // Name of ticket creator 'email' => $entry[5] // email of ticket creator ) ) ) ); $return = ZD_contactus_curlWrap("/tickets.json", $create); } /* * Zendesk post function * TODO : use wp_remote_post */ function ZD_contact_us_curlWrap($url, $json){ $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch, CURLOPT_MAXREDIRS, 10 ); curl_setopt($ch, CURLOPT_URL, ZDURL.$url); curl_setopt($ch, CURLOPT_USERPWD, ZDUSER."/token:".ZDAPIKEY); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $output = curl_exec($ch); curl_close($ch); $decoded = json_decode($output); return $decoded; }
Helt enkelt sier meldingen at funksjonen ZD_contactus_curlWrap ikke er definert. Hvor denne er test at skal defineres vet jeg ikke, men det er antagelig i en annen fil, eller noe du har glemt å lime inn fra modulen du har brukt som utgangspunkt. Altså; du sier PHP: $return = ZD_contactus_curlWrap("/tickets.json", $create); Men hva skal ZD_contactus_curlWrap gjør med de to parameterne?
Takk for det. Jeg vet ikke hva som gjør hva, dette er ting jeg ikke kan. Herfra kommer koden: https://ultimatumtheme.com/integrate-gravity-forms-and-zendesk/
Uten å ha brukt en del tid på dette, kan det se ut som kodesnutten mangler noe (ref lenke). Scriptet bruker ZD_contactus_curlWrap uten at denne er definert.
Ok, fy søren, det var bare en skrivefeil, riktig var: $return = ZD_contact_us_curlWrap("/tickets.json", $create);