WordPress.org

Ready to get started?Download WordPress

Plugin Directory

WordPress-to-lead for Salesforce CRM

WordPress-to-Lead for Salesforce CRM creates a solid integration between your WordPress install(s) and your Salesforce.com account!

Filters and Hooks

Note: * These should be placed in your active theme functions.php or a functionality plugin. * Never edit a plugin directly (unless you understand the implications of doing so). * You can use Pluginception to create a custom plugin for these to make them independent of your theme: https://wordpress.org/plugins/pluginception/

Filters

salesforce_w2l_api_url

Change the API url the plugin posts data to. Passes the form type (lead or case)

add_filter( 'salesforce_w2l_api_url', 'my_w2l_api_url', 10, 2 );

function my_w2l_api_url( $url, $form_type ){
    return 'https://my.custom-api-url.com/something/';
}

sfwp2l_validate_field

Provide your own validation logic for each field.

An error array is passed in, along with the field name, submitted value, and field configuration (type, default value, required, etc).

Here's an example of blocking common free email providers:

add_filter('sfwp2l_validate_field','block_non_biz_emails', 10, 4);

function block_non_biz_emails( $error, $name, $val, $field ){

    if( $name == 'email' ){

        $non_biz_domains = array( 'gmail.com', 'yahoo.com', 'hotmail.com', 'aol.com' );

        $domain = array_pop(explode('@', $val));

        if( in_array( $domain, $non_biz_domains ) ){
            $error['valid'] = false;
            $error['message'] = 'Please enter a business email addresss.';
        }

    }

    return $error;
}

You can add to the $non_biz_domains to block other providers as well.

salesforce_w2l_form_html

HTML of the form before it's returned to WordPress for display

salesforce_w2l_cc_user_from_name

Change from name (user confirmation)

salesforce_w2l_cc_user_from_email

Change from email (user confirmation)

salesforce_w2l_cc_admin_from_name

Change from name (admin notification)

salesforce_w2l_cc_admin_from_email

Change from email (admin notification)

salesforce_w2l_cc_admin_email_list

Adding this code to your functions.php file will add 3 emails to the list. You can add as many as you want and each will get an admin notification email.

add_filter('salesforce_w2l_cc_admin_email_list','salesforce_add_emails');

function salesforce_add_emails( $emails ){

//uncomment line below to remove site admin
//unset($emails[0]);

$emails[]='email@domain.com';
$emails[]='email2@domain.com';
$emails[]='email3@domain.com';

return $emails;
}

salesforce_w2l_cc_user_email_content

salesforce_w2l_cc_admin_email_content

Allows you to filter (append, prepend, modify) the email message content sent to the user or admin(s).

add_filter('salesforce_w2l_cc_user_email_content','salesforce_filter_user_message', 10, 1);

function salesforce_filter_user_message( $message ){

    $message = 'Before the user message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the user message';

    return $message;

}

add_filter('salesforce_w2l_cc_admin_email_content','salesforce_filter_admin_message', 10, 1);

function salesforce_filter_admin_message( $message ){

    $message = 'Before the admin message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the admin message';

    return $message;

}

salesforce_w2l_field_value

salesforce_w2l_field_value_{Form ID}_{Field Name}

Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc.

Note that the second filter requires you to replace {Form ID} and {Field Name} to be replaced with the relevant form id and field name.

If you need access to the field or form settings in your filter you can use:

$field = salesforce_get_field( $field_name, $form_id );
$form = salesforce_get_form( $form_id );

Examples:

// Filter all field of all forms
add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_example', 10, 3 );
function salesforce_w2l_field_value_example( $val, $field, $form ){

    // Target a specific form
    if( $form == 1 )
        $val = 'TEST';

    // Target a specific field on all forms
    if( $field == 'test_field' )
        $val = 'TEST3';

    // Target a specific field on a form
    if( $form == 1 && $field == 'test_field' )
        $val = 'TEST2';

    return $val;

}

// Filter a specific field on a specific form
// salesforce_w2l_field_value_{Form ID}_{Field Name}
add_filter( 'salesforce_w2l_field_value_1_tester', 'salesforce_w2l_field_value_1_tester_example', 10, 1 );
function salesforce_w2l_field_value_1_tester_example(  $val ){

    return '123';

}

salesforce_w2l_form_action

Allows you to remove the form action.

// Remove Form Action
add_filter( 'salesforce_w2l_form_action', 'salesforce_w2l_form_action_example', 10, 1 );
function salesforce_w2l_form_action_example(  $action ){

    return '';

}

salesforce_w2l_lead_source

Allows you to alter the lead source (per form or globally).

// Alter Lead Source
add_filter( 'salesforce_w2l_lead_source', 'salesforce_w2l_lead_source_example', 10, 2 );
function salesforce_w2l_lead_source_example(  $lead_source, $form_id ){

    if( $form_id == 1 )
        return 'Example Lead Source for Form #1 on page id #'.get_the_id();

    return $lead_source;

}

salesforce_w2l_post_args

Allows filtering of the wp_remote_post arguments (e.g. extend the timeout, increase redirect limit, etc).

add_filter( 'salesforce_w2l_post_args', 'salesforce_w2l_post_args_example' );

function salesforce_w2l_post_args_example( $args ){

    $args['timeout'] = 10; // http timeout in seconds
    return $args;

}

Requires: 3.5.2 or higher
Compatible up to: 3.9.2
Last Updated: 2014-8-21
Downloads: 33,718

Ratings

3 stars
3.8 out of 5 stars

Support

23 of 38 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 67,3,2 100,2,2 100,1,1
0,1,0
100,1,1
100,1,1 100,1,1
100,1,1
100,1,1
0,1,0
100,1,1 50,8,4
33,3,1
0,1,0
100,1,1 100,1,1
100,1,1
100,1,1
100,1,1
100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 0,1,0
0,1,0