Skip to content

Instantly share code, notes, and snippets.

@patilvikasj
Created June 8, 2020 10:06
Show Gist options
  • Select an option

  • Save patilvikasj/def9712abfa02e115eed7b17d28e184b to your computer and use it in GitHub Desktop.

Select an option

Save patilvikasj/def9712abfa02e115eed7b17d28e184b to your computer and use it in GitHub Desktop.
Filters for support site
<?php
/* Important actions related to core functionality */
// to remove admin bar for non admin
add_action('init','remove_admin_bar');
function remove_admin_bar() {
if (!current_user_can('manage_options')) {
add_filter('show_admin_bar', '__return_false');
}
// added since WP 4.4 for login_url filter alternative
$pagenow = $GLOBALS['pagenow'];
if ( in_array( $pagenow, array( 'wp-login.php', 'wp-register.php' ) ) ){
$licence_settings = get_option('bsf_licence_settings');
$login_page = (isset($licence_settings['login_page'])) ? trim($licence_settings['login_page'],'/') : '';
wp_safe_redirect( $login_page );
//exit; do not remove comment
}
}
// register link
add_action( 'register' , 'bsf_register_replacement' );
function bsf_register_replacement( $link ){
$licence_settings = get_option('bsf_licence_settings');
$register_page = (isset($licence_settings['register_page'])) ? trim($licence_settings['register_page'],'/') : '';
$link = '<a href="' . site_url($register_page, 'login') . '">' . __('Register') . '</a>';
return $link;
}
add_filter( 'register_url', 'bsf_register_account_link' );
function bsf_register_account_link( $register_url ) {
$licence_settings = get_option('bsf_licence_settings');
$register_page = (isset($licence_settings['register_page'])) ? trim($licence_settings['register_page'],'/') : '';
return home_url( $register_page );
}
// lost password url
add_filter( 'lostpassword_url', 'bsf_lost_password_page', 10, 2 );
function bsf_lost_password_page( $lostpassword_url, $redirect ) {
$licence_settings = get_option('bsf_licence_settings');
$lost_password = (isset($licence_settings['lost_password'])) ? trim($licence_settings['lost_password'],'/') : '';
return home_url( $lost_password );
}
add_filter('wppb_pre_login_url_filter', 'bsf_lost_password_page_url');
function bsf_lost_password_page_url($url) {
$licence_settings = get_option('bsf_licence_settings');
$lost_password = (isset($licence_settings['lost_password'])) ? trim($licence_settings['lost_password'],'/') : '';
return home_url( $lost_password );
}
/* Email Templates */
// Redefine user sign up notification function
add_action('send_user_registered_email','send_user_registered_email_callback',10, 2);
function send_user_registered_email_callback($user_id, $plaintext_pass = '') {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$message = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
if ( empty($plaintext_pass) )
return;
$licence_settings = get_option('bsf_licence_settings');
$lost_password = (isset($licence_settings['lost_password'])) ? trim($licence_settings['lost_password'],'/') : '';
//Prepare headers for HTML
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$message = '<body style="background-color: #EAECED; font-family: \'Open Sans\',arial,sans-serif!important; padding: 50px 0px 70px;">
<h2 style="margin: 10px 0px 35px!important; font-size:28px; line-height:1.35em; color: #252b33; text-align: center; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal;">Thanks for Signing up! </h2>
<table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto; background-color:#ffffff;">
<tr>
<td style="padding: 0;"><a href="#"><img style="border: 0;-ms-interpolation-mode: bicubic;display: block;width: 100%;max-width: 600px" src="'.plugin_dir_url( __FILE__ ).'images/thank-you-for-signing.jpg" alt="" width="600"></a></td>
</tr>
<tr style="text-align:center;">
<td><h2 style=" margin: 50px 0px 20px!important; font-size: 28px; line-height:1.35em; color: #252b33; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal;">Your Login Details Below </h2></td>
</tr>
<tr>
<td><table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto">
<tr>
<td><table cellspacing="15">
<tr>
<td><label style="font-size: 16px; line-height:1.35em; color: #7e8890; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal;">Username :</label></td>
<td colspan="2"><div style="border-width: 1px; padding: 12px 15px; font-size: 16px; line-height:1.35em; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-style: solid; color: #7e8890; text-transform: none; border-radius: 3px; background: #FBFBFB; border-color: #D8D8D8;"> <a href="javascript:void(0)" style="text-decoration: none; color: #7e8890!important; text-transform: lowercase;">'.$user_login.'</a></div></td>
<td></td>
</tr>
<tr>
<td><label style="font-size: 16px; line-height:1.35em; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; text-decoration: none; color: #7e8890!important;">Password :</label></td>
<td colspan="2"><div style=" border-width: 1px; padding:12px 15px; font-size: 16px; line-height:1.35em; color: #7e8890; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-style:solid; text-transform: none; border-radius: 3px; border-color: #D8D8D8; background: #FBFBFB; ">'.$plaintext_pass.'</div></td>
<td></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table style="margin: 25px auto 65px;">
<tr>
<td><a style="display:inline-block; outline: none;padding:15px 47px;text-align:center;text-decoration:none!important;color:#ffffff!important; background-color: #34AD00; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #34ad00; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.wp_login_url().'" target="_blank">Login Now</a></td>
<td><a style="display:inline-block; outline: none; padding:15px 20px; text-align:center;text-decoration:none!important;color:#7e8890!important; background-color:transparent; margin-left: 11px; margin-right: 18px; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #7e8890; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.home_url($lost_password).'" target="_blank">Change Password</a></td>
</tr>
</table></td>
</tr>
</table>
</body>';
//wp_mail($user_email, sprintf(__('Support Account Activation'), get_option('blogname')), $message, $headers);
wppb_mail( $user_email, 'Support Account Activation', $message, 'do-not-reply@bsf.io' );
}
if ( !function_exists('wp_new_user_notification') ) {
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$message = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
if ( empty($plaintext_pass) )
return;
$licence_settings = get_option('bsf_licence_settings');
$lost_password = (isset($licence_settings['lost_password'])) ? trim($licence_settings['lost_password'],'/') : '';
//Prepare headers for HTML
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$message = '<body style="background-color: #EAECED; font-family: \'Open Sans\',arial,sans-serif!important; padding: 50px 0px 70px;">
<h2 style="margin: 10px 0px 35px!important; font-size:28px; line-height:1.35em; color: #252b33; text-align: center; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal;">Thanks for Signing up! </h2>
<table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto; background-color:#ffffff;">
<tr>
<td style="padding: 0;"><a href="#"><img style="border: 0;-ms-interpolation-mode: bicubic;display: block;width: 100%;max-width: 600px" src="'.plugin_dir_url( __FILE__ ).'images/thank-you-for-signing.jpg" alt="" width="600"></a></td>
</tr>
<tr style="text-align:center;">
<td><h2 style=" margin: 50px 0px 20px!important; font-size: 28px; line-height:1.35em; color: #252b33; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal;">Your Login Details Below </h2></td>
</tr>
<tr>
<td><table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto">
<tr>
<td><table cellspacing="15">
<tr>
<td><label style="font-size: 16px; line-height:1.35em; color: #7e8890; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal;">Username :</label></td>
<td colspan="2"><div style="border-width: 1px; padding: 12px 15px; font-size: 16px; line-height:1.35em; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-style: solid; color: #7e8890; text-transform: none; border-radius: 3px; background: #FBFBFB; border-color: #D8D8D8;"> <a href="javascript:void(0)" style="text-decoration: none; color: #7e8890!important; text-transform: lowercase;">'.$user_login.'</a></div></td>
<td></td>
</tr>
<tr>
<td><label style="font-size: 16px; line-height:1.35em; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; text-decoration: none; color: #7e8890!important;">Password :</label></td>
<td colspan="2"><div style=" border-width: 1px; padding:12px 15px; font-size: 16px; line-height:1.35em; color: #7e8890; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-style:solid; text-transform: none; border-radius: 3px; border-color: #D8D8D8; background: #FBFBFB; ">'.$plaintext_pass.'</div></td>
<td></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table style="margin: 25px auto 65px;">
<tr>
<td><a style="display:inline-block; outline: none;padding:15px 47px;text-align:center;text-decoration:none!important;color:#ffffff!important; background-color: #34AD00; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #34ad00; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.wp_login_url().'" target="_blank">Login Now</a></td>
<td><a style="display:inline-block; outline: none; padding:15px 20px; text-align:center;text-decoration:none!important;color:#7e8890!important; background-color:transparent; margin-left: 11px; margin-right: 18px; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #7e8890; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.home_url($lost_password).'" target="_blank">Change Password</a></td>
</tr>
</table></td>
</tr>
</table>
</body>';
wppb_mail( $user_email, 'Support Account Activation', $message, 'do-not-reply@bsf.io' );
}
}
// recover password mail - step 1
add_filter('wppb_recover_password_message_title_sent_to_user1', 'bsf_user_reset_password_user_notification_subject', 10, 2);
function bsf_user_reset_password_user_notification_subject($subject, $requestedUserLogin) {
$subject = __('Support Account Password Reset');
return $subject;
}
add_filter('wppb_recover_password_message_content_sent_to_user1', 'bsf_user_reset_password_user_notification', 10, 4);
function bsf_user_reset_password_user_notification($message, $requestedUserID, $requestedUserLogin, $requestedUserEmail) {
$key = wppb_retrieve_activation_key( $requestedUserLogin );
$user = get_userdata( $requestedUserID );
$user_nicename = $user->user_nicename;
$message = '<body style="background-color: #EAECED; font-family: \'Open Sans\',arial,sans-serif!important; padding: 50px 0px 70px;">
<h2 style="margin: 10px 0px 35px!important; font-size:28px; line-height:1.35em; color: #252b33; text-align: center; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal; ">Forgot Password?</h2>
<table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto; background-color:#ffffff;">
<tr>
<td style="padding: 0;"><a href="#"><img style="border: 0;-ms-interpolation-mode: bicubic;display: block;width: 100%;max-width: 600px" src="'.plugin_dir_url( __FILE__ ).'images/forget-password.jpg" alt="" width="600"></a></td>
</tr>
<tr style="text-align:center;">
<td><h2 style=" margin: 50px 0px 20px!important; font-size: 28px; line-height:1.35em; color: #252b33; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal; ">Click following link to reset your password</h2></td>
</tr>
<tr>
<td><table style="margin: 25px auto 65px;">
<tr>
<td><a style="display:inline-block;padding:15px 20px;text-align:center;text-decoration:none!important;color:#ffffff!important; background-color: #34AD00; outline: none; margin-left: 11px; margin-right: 18px; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #7e8890; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.esc_url(add_query_arg( array( 'loginName' => $user_nicename, 'key' => $key ), wppb_curpageurl() )).'" target="_blank">Reset Password</a></td>
</tr>
</table></td>
</tr>
</table>
</body>';
return $message;
}
// recover password mail - step 2
add_filter('wppb_recover_password_message_title_sent_to_user2', 'bsf_user_reset_password_user_confirm_notification_subject', 10, 2);
function bsf_user_reset_password_user_confirm_notification_subject($subject, $display_username_email) {
$subject = __('Support Account Password Successfully Reset');
return $subject;
}
add_filter('wppb_recover_password_message_content_sent_to_user2', 'bsf_user_reset_password_user_confirm_notification', 10, 4);
function bsf_user_reset_password_user_confirm_notification($message, $display_username_email, $new_pass, $userID) {
$licence_settings = get_option('bsf_licence_settings');
$lost_password = (isset($licence_settings['lost_password'])) ? trim($licence_settings['lost_password'],'/') : '';
$message = '<body style="background-color: #EAECED; font-family: \'Open Sans\',arial,sans-serif!important; padding: 50px 0px 70px;">
<h2 style="margin: 10px 0px 35px!important; font-size:28px; line-height:1.35em; color: #252b33; text-align: center; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal; ">Forgot Password?</h2>
<table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto; background-color:#ffffff;">
<tr>
<td style="padding: 0;"><a href="#"><img style="border: 0;-ms-interpolation-mode: bicubic;display: block;width: 100%;max-width: 600px" src="'.plugin_dir_url( __FILE__ ).'images/thank-you-for-signing.jpg" alt="" width="600"></a></td>
</tr>
<tr style="text-align:center;">
<td><h2 style=" margin: 50px 0px 20px!important; font-size: 28px; line-height:1.35em; color: #252b33; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: 100; letter-spacing: normal; ">Your New Password Below </h2></td>
</tr>
<tr>
<td><table style="border-collapse: collapse;border-spacing: 0;Margin-left: auto;Margin-right: auto">
<tr>
<td><table style="margin: 15px 0px;">
<tr>
<td colspan="2"><div style=" border-width: 1px; padding:15px 60px; font-size: 16px; line-height:1.35em; color: #7e8890; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-style:solid; text-transform: none; border-radius: 3px; background: #FBFBFB; border-color: #D8D8D8;">'.$new_pass.'</div></td>
<td></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table style="margin: 25px auto 65px;">
<tr>
<td><a style="display:inline-block; outline: none; padding:15px 47px;text-align:center;text-decoration:none!important;color:#ffffff!important; background-color: #34AD00; font-family: \'Open Sans\',arial,sans-serif!important; font-weight: normal; border-radius: 3px; border: 1px solid #34ad00; font-size: 13px; line-height: 1.35em; letter-spacing: 0.135em; text-transform: uppercase;" href="'.wp_login_url().'" target="_blank">Login Now</a></td>
</tr>
</table></td>
</tr>
</table>
</body>';
return $message;
}
add_filter('wppb_recover_password_message1','bsf_recover_password_message1_callback');
function bsf_recover_password_message1_callback($message) {
$message = '<p>' . __( 'Please enter your email address.', 'bsf' );
$message .= '<br/>'.__( 'You will receive a link to create a new password via email.', 'bsf' ).'</p>';
}
add_filter('wppb_recover_password_generate_password_input','bsf_recover_password_string_callback',9999, 2);
function bsf_recover_password_string_callback($recover_input, $username_email ) {
$recover_input = '<ul>
<li class="wppb-form-field wppb-username-email">
<label for="username_email">'.__( 'E-mail', 'bsf' ).'</label>
<input class="text-input" name="username_email" type="text" id="username_email" value="'.trim( $username_email ).'" />
</li><!-- .username_email --></ul>';
return $recover_input;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment