WordPress.org

Forums

WordPress-to-lead for Salesforce CRM
[resolved] IP Address Capture (9 posts)

  1. whuggett
    Member
    Posted 10 months ago #

    Anyone know the best way to capture the IP address into SalesForce, without using DaddyAnalytics?

    I've setup forms in the past that do this, but that's when I can see the specific input fields in the code and can figure out where to put the IP lookup script. So basically, I'm just looking to figure out where to put the lookup script. I've setup a hidden field in my form and a custom field on the SalesForce side.

    Thanks!

    https://wordpress.org/plugins/salesforce-wordpress-to-lead/

  2. Nick Ciske
    Member
    Plugin Author

    Posted 10 months ago #

  3. whuggett
    Member
    Posted 10 months ago #

    Thanks Nick. I assume this goes in the functions.php of the theme, as per the Readme.txt instructions?

  4. Nick Ciske
    Member
    Plugin Author

    Posted 10 months ago #

    Yes.

    Or, ideally, a functionality plugin ;-)

  5. whuggett
    Member
    Posted 10 months ago #

    Do I need to identify the form number in the add_filter? I'm using multiple forms, and can't seem to get it to work yet on the main contact form (#1).

  6. Nick Ciske
    Member
    Plugin Author

    Posted 10 months ago #

    Nope. It runs on all fields of all forms by default.

    Show me your code and link to the form and I can probably spot the error ;-$

  7. whuggett
    Member
    Posted 10 months ago #

    Here's a link to our contact form...
    Contact Form

    I copied and pasted the code from the sf_w2l_user_ip.php file and changed the custom ip field name to "IP_Address__c", as it is in SalesForce and on our contact form's hidden field.

    Thanks.

  8. whuggett
    Member
    Posted 10 months ago #

    Specifically, this is what I added to the Functions.php file.

    /*----------------------------------------------------------------------*/
    /* Custom function for IP Address Tracking in Contact Form
    /*----------------------------------------------------------------------*/
    
    // Save user ip in a specific field
    // -- replace IP_Address__c with your custom field name
    // -- make a hidden text field in your lead form (make sure it's enabled)
    // -- make sure it can store up to 45 characters (for IPv6 addresses)
    
    add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_ip_field', 10, 3 );
    
    function salesforce_w2l_ip_field( $val, $field, $form ){
    
    	$my_ip_field = 'IP_Address__c';
    
    	// Target a specific field on all forms
    	if( $field == my_ip_field ){
    
    		if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    		    $ip = $_SERVER['HTTP_CLIENT_IP'];
    		} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    		    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    		} else {
    		    $ip = $_SERVER['REMOTE_ADDR'];
    		}
    
            $val = $ip;
    
    	}
    
        return $val;
    
    }
  9. Nick Ciske
    Member
    Plugin Author

    Posted 10 months ago #

    You did enable your hidden field, right? I don't see it in the source so it's not being processed by the filter.

Reply

You must log in to post.

About this Plugin

About this Topic

Tags