29 January 2014

Disable theme update notification for a specific theme

Add following code into your specific plugin file to disable update notification,

//Filter to remove theme update notification.
add_filter('site_transient_update_themes', 'remove_theme_update_notification');
function remove_theme_update_notification($value)
{
 unset($value->response[ basename(__DIR__) ]);
 return $value;
}

Have Fun!

27 January 2014

Disable plugin update notification for a specific plugin

Add following code into your specific plugin file to disable update notification,

//Filter to remove plugin update notification.
add_filter('site_transient_update_plugins', 'remove_plugin_update_notification');
function remove_plugin_update_notification($value)
{
 unset($value->response[ plugin_basename(__FILE__) ]);
 return $value;
}

Have Fun!

7 January 2014

WordPress - Adding Custom Fields in Registration Form

Using following three steps, you can add your custom fields in WordPress Registration Form.

1). Add a hook to registration form to add a new form element,
add_filter( 'register_form', 'adding_custom_registration_fields', 9 );
function adding_custom_registration_fields( )
{
 //Add input box & label of your field.
 ?>
 <div class="form-row form-row-wide">
  <label for="your_field">Your Field <span class="required">*</span></label>
  <input type="text" class="input-text" name="your_field" id="your_field" value="<?php if (isset($_POST['your_field'])) echo esc_attr($_POST['your_field']); ?>"/>
 </div>
 <?php 
}


2). Validating registration form after submission using the filter registration_errors hook.
add_filter('registration_errors', 'registration_errors_validation', 10, 3);
function registration_errors_validation($reg_errors, $sanitized_user_login, $user_email)
{
 // extracting $_POST into separate variables
 extract($_POST);
 if($your_field == '') {
  $reg_errors->add( 'your_field_error', <strong>ERROR</strong>: Please, fill in all the required fields.' );
 }
 return $reg_errors;
}


3). Add below code to Updating user meta in database after successful registration.
add_action('user_register', 'adding_extra_reg_fields');
function adding_extra_reg_fields($user_id)
{
 // extracting $_POST into separate variables
 extract($_POST);
 update_user_meta($user_id, 'your_field_in_db', $your_field);
}


Have fun!

2 January 2014

Email Restrictions For Registration In WordPress

Here is a way to restrict registration to a specific email domain using following WordPress hook.
You can add more domains to restrict list by adding domain into $blockDomains. and also you can edit your custom error message(By changing $error_message)...

Add following code in your function.php file.
add_action('register_post', 'email_restrictions_on_registration', 10, 3);
function email_restrictions_on_registration( $login, $email, $errors )
{
 // Add those specific email domain in '$blockDomains' array.
 $blockDomains = array('gmail.com', 'domain.com', 'domain-name.com');
 //Add Your custom error message here.
 $error_message = "Only Email Addresses From Approved Domains Are Allowed!";
 //Split email address with @ to get domain name.
 $email_data = explode('@', $email);
 $username = $email_data[0];
 $domain = $email_data[1];
 //Check if domain is in block Domain list.
 if(in_array($domain, $blockDomains))
 {
  $errors->add(
   'invalid_email',
   __("<strong>ERROR</strong>: $error_message"),
   array('form-field' => 'user_email')
  );
 }
}