2015-05-24 3 views
1

Как добавить значение поля в конец $activate_url, которое отправлено в электронном письме активации? Например, $activate_url . ?key=$key**&as=$fieldvalue**, я не знаю достаточно о GForm для передачи этих значений.

ответ

0

Вот два примера. Это первые из них является скелетной версия:

/** 
* Gravity Wiz // GF User Registration // Modify Activation URL 
*/ 
add_filter('wpmu_signup_user_notification_email', 'gw_modify_activation_url', 11, 4); 
function gw_modify_activation_url($message, $username, $email, $key) { 

    // find the current activation URL in the message 
    if (is_callable('bp_get_activation_page')) { 
     $search = esc_url_raw(sprintf('%s?key=%s', bp_get_activation_page(), $key)); 
    } else { 
     $search = esc_url_raw(add_query_arg(array('page' => 'gf_activation', 'key' => $key), get_site_url() . '/')); 
    } 

    // add your query parameters to the current activation URL 
    $replace = add_query_arg(array('my_key' => 'my_value'), $search); 

    // replace the current activation URL with the updated URL 
    $message = str_replace($search, $replace, $message); 

    return $message; 
} 

И эта версия говядины его с поддержкой доступа к объекту $ ввода, связанный с ключом активации, так что вы можете включать в себя данные из записи в модифицированном URL активации.

/** 
* Gravity Wiz // GF User Registration // Modify Activation URL w/ Entry Data 
*/ 
add_filter('wpmu_signup_user_notification_email', 'gw_modify_activation_url_with_entry_data', 11, 4); 
function gw_modify_activation_url_with_entry_data($message, $username, $email, $key) { 

    // make sure GF User Registration is loaded 
    if(! is_callable(array('GFUser', 'get_base_path'))) { 
     return $mesage; 
    } 

    // include the signups functionality 
    require_once(GFUser::get_base_path() . '/includes/signups.php'); 

    // get the signup object for the provided key, this contains all the GF related information you'll ever want for the key 
    $signup = GFSignup::get($key); 
    if(is_wp_error($signup)) { 
     return $message; 
    } 

    // set the "lead" property of the signup to an $entry variable for clarity 
    // "lead" is no longer the correct term for the data associated with a GF submission 
    $entry = $signup->lead; 

    // find the current activation URL in the message 
    if (is_callable('bp_get_activation_page')) { 
     $search = esc_url_raw(sprintf('%s?key=%s', bp_get_activation_page(), $key)); 
    } else { 
     $search = esc_url_raw(add_query_arg(array('page' => 'gf_activation', 'key' => $key), get_site_url() . '/')); 
    } 

    // add your query parameters to the current activation URL 
    $replace = add_query_arg(array('my_key' => $entry[1]), $search); 

    // replace the current activation URL with the updated URL 
    $message = str_replace($search, $replace, $message); 

    return $message; 
} 

Если вам нужно на самом деле изменить шаблон активации на основе строки запроса, обратитесь к этой статье: http://gravitywiz.com/customizing-gravity-forms-user-registration-activation-page/

+0

Большое спасибо, Дэвид - оценить время, которое вы приняли, чтобы положить, что вместе. Я понял это вчера, но я, конечно, узнаю гораздо больше из вашего кода и комментариев. Я не разбираюсь в WP hooks, но я начинаю видеть, что я должен быть. еще раз спасибо –

Смежные вопросы