$id, 'type' => $type, 'label' => $label, 'required' => $required, 'options' => $options, 'placeholder' => '', 'help' => $help ); } private static function legacy() { $name = self::field( 'name', 'text', __( 'Your name', 'killerconversions' ), true ); $email = self::field( 'email', 'email', __( 'Email address', 'killerconversions' ), true ); return array( 'contact' => array( 'name' => __( 'Contact', 'killerconversions' ), 'description' => __( 'A short, approachable enquiry form.', 'killerconversions' ), 'submit_label' => __( 'Send message', 'killerconversions' ), 'success_message' => __( 'Thank you. Your message has been received.', 'killerconversions' ), 'fields' => array( $name, $email, self::field( 'message', 'textarea', __( 'How can we help?', 'killerconversions' ), true ) ) ), 'agency_brief' => array( 'name' => __( 'Agency brief', 'killerconversions' ), 'description' => __( 'Understand the project, goals and timing before a discovery call.', 'killerconversions' ), 'submit_label' => __( 'Send project brief', 'killerconversions' ), 'success_message' => __( 'Your brief has been received. We will review it before following up.', 'killerconversions' ), 'fields' => array( $name, $email, self::field( 'company', 'text', __( 'Company', 'killerconversions' ) ), self::field( 'service', 'select', __( 'What do you need?', 'killerconversions' ), true, array( __( 'Website', 'killerconversions' ), __( 'Branding', 'killerconversions' ), __( 'Marketing', 'killerconversions' ), __( 'Other', 'killerconversions' ) ) ), self::field( 'goals', 'textarea', __( 'What should this project achieve?', 'killerconversions' ), true ), self::field( 'timeline', 'select', __( 'Ideal start', 'killerconversions' ), false, array( __( 'This month', 'killerconversions' ), __( 'Next quarter', 'killerconversions' ), __( 'Exploring options', 'killerconversions' ) ) ) ) ), 'quote' => array( 'name' => __( 'Request a quote', 'killerconversions' ), 'description' => __( 'Capture scope and contact details for a tailored estimate.', 'killerconversions' ), 'submit_label' => __( 'Request my quote', 'killerconversions' ), 'success_message' => __( 'Your quote request has been received. We will contact you to discuss the details.', 'killerconversions' ), 'fields' => array( $name, $email, self::field( 'project', 'textarea', __( 'Tell us what you need', 'killerconversions' ), true ), self::field( 'budget', 'text', __( 'Estimated budget (optional)', 'killerconversions' ), false, array(), __( 'Include your currency if you have a budget in mind.', 'killerconversions' ) ), self::field( 'deadline', 'text', __( 'Preferred completion date (optional)', 'killerconversions' ) ) ) ), 'consultation' => array( 'name' => __( 'Consultation request', 'killerconversions' ), 'description' => __( 'Request a conversation. This does not reserve calendar availability.', 'killerconversions' ), 'submit_label' => __( 'Request a consultation', 'killerconversions' ), 'success_message' => __( 'Your request has been received. We will contact you to confirm a time.', 'killerconversions' ), 'fields' => array( $name, $email, self::field( 'topic', 'textarea', __( 'What would you like to discuss?', 'killerconversions' ), true ), self::field( 'availability', 'text', __( 'Preferred times and time zone', 'killerconversions' ), false, array(), __( 'A time is only confirmed after we reply.', 'killerconversions' ) ) ) ), 'feedback' => array( 'name' => __( 'Customer feedback', 'killerconversions' ), 'description' => __( 'A quick experience rating with optional contact details.', 'killerconversions' ), 'submit_label' => __( 'Share feedback', 'killerconversions' ), 'success_message' => __( 'Thank you for helping us improve.', 'killerconversions' ), 'fields' => array( self::field( 'experience', 'radio', __( 'How was your experience?', 'killerconversions' ), true, array( __( 'Excellent', 'killerconversions' ), __( 'Good', 'killerconversions' ), __( 'Could be better', 'killerconversions' ) ) ), self::field( 'feedback', 'textarea', __( 'What worked well or could improve?', 'killerconversions' ), true ), self::field( 'email', 'email', __( 'Email (optional, if you would like a reply)', 'killerconversions' ) ) ) ), 'newsletter' => array( 'name' => __( 'Newsletter interest', 'killerconversions' ), 'description' => __( 'Records signup requests locally. Configure a suitable integration and consent process to subscribe people to a mailing service.', 'killerconversions' ), 'submit_label' => __( 'Request newsletter signup', 'killerconversions' ), 'success_message' => __( 'Your newsletter signup request has been received.', 'killerconversions' ), 'fields' => array( $email, self::field( 'name', 'text', __( 'First name (optional)', 'killerconversions' ) ), self::field( 'consent', 'checkbox', __( 'I would like to receive the newsletter by email.', 'killerconversions' ), true, array(), __( 'Before publishing, add your privacy notice and explain how readers can unsubscribe.', 'killerconversions' ) ) ) ), ); } public static function all() { $all = self::legacy(); $contact = array( self::field( 'name', 'text', __( 'Your name', 'killerconversions' ), true ), self::field( 'email', 'email', __( 'Email address', 'killerconversions' ), true ) ); $make = function ( $name, $description, $fields, $steps = array() ) { return array( 'name' => $name, 'description' => $description, 'fields' => $fields, 'steps' => $steps, 'submit_label' => __( 'Send request', 'killerconversions' ), 'success_message' => __( 'Thank you. Your request has been received for review.', 'killerconversions' ) ); }; $all['service_enquiry'] = $make( __( 'Service enquiry', 'killerconversions' ), __( 'A service choice and clear scope for a useful staff reply.', 'killerconversions' ), array_merge( $contact, array( self::field( 'service', 'select', __( 'Service', 'killerconversions' ), true, array( __( 'Consulting', 'killerconversions' ), __( 'Installation', 'killerconversions' ), __( 'Maintenance', 'killerconversions' ) ) ), self::field( 'scope', 'textarea', __( 'What do you need?', 'killerconversions' ), true ), self::field( 'timing', 'text', __( 'Preferred timing', 'killerconversions' ) ) ) ) ); $all['callback_request'] = $make( __( 'Callback request', 'killerconversions' ), __( 'Phone, time zone and preferred time; no appointment is automatically booked.', 'killerconversions' ), array_merge( $contact, array( self::field( 'phone', 'tel', __( 'Callback number', 'killerconversions' ), true ), self::field( 'timezone', 'text', __( 'Time zone', 'killerconversions' ), true ), self::field( 'availability', 'text', __( 'Preferred callback times', 'killerconversions' ), true ), self::field( 'topic', 'textarea', __( 'What would you like to discuss?', 'killerconversions' ) ) ) ) ); return apply_filters( 'kconv_starter_templates', $all ); } }