WordPress.org

Plugin Directory

Login With Ajax

Add smooth ajax login/registration effects and choose where users get redirected upon log in/out. Supports SSL, MultiSite, and BuddyPress.

Notes

Upgrading from v3 to v3.1

Due to the improvmenets necessary (specifically allowing multiple LWA widgets on one page), it was important to modify the template files to use classnames instead of ids.

If you have customized your widgets as per the instructions below, you will need make some modifications to your templates, and probably re-evaluate whether you still need custom JS if you went that far.

We've tried to minimize potential conflicts arising from this, but you should consider revising your template regarding these two points:

  • LoginWithAjax is now a static class, so things like $this->function() and $this->variable should become LoginWithAjax::function() and LoginWithAjax::$variable
  • Element IDs are now classnames, and are converted like so (we do have backwards compatibility to account for this, but still recommended):
    • LoginWithAjax becomes lwa
    • classname is all lowercase
    • underscores become hyphens
    • Example : LoginWithAjax_Form > lwa-form

Shortcodes & Template Tags

You can use the shortcode [login-with-ajax] or [lwa] and template tag login_with_ajax() with these options :

  • profile_link - (1 or 0)
    • If value is 1 (default), a profile link to wp-admin appears.
  • registration - (1 or 0)
    • If value is 1 (default), a registration link appears, providing you have registration enabled in your WP settings.
  • template - (template name/directory)
    • If this template directory exists, this template will be used. Default is 'default' template.
  • remember - (1 or 0)
    • If value is 1 (default), a remember password link appears for password recovery
  • redirect
    • Successful logins are redirected to this URL

SSL Logins

To force SSL, see http://codex.wordpress.org/Administration_Over_SSL. The plugin will automatically detect the wordpress settings.

Customizing the Widget

You can customize the html widgets in an upgrade-safe manner by copying files and editing them within your theme. Firstly, you need to understand how Login With Ajax loads templates:

  • When looking for files/templates there is an order of precedence - active child theme (if applicable), active parent themes, and finally the plugin folder:

    • wp-content/themes/your-theme/plugins/login-with-ajax/
    • wp-content/themes/parent-theme/plugins/login-with-ajax/
    • wp-content/plugins/login-with-ajax/widget/
  • Login With Ajax loads only one CSS and JS file which contains code for all templates. The plugin checks the locations above and loads the one it finds first. The default files are:

    • wp-content/plugins/login-with-ajax/widget/login-with-ajax.js
    • wp-content/plugins/login-with-ajax/widget/widget.css
  • One caveat for JavaScript files, if you've enabled WP_DEBUG, then LWA will look for a file called login-with-ajax.source.js, a non-minified version of the normal JS file.

  • Login With Ajax then checks for template folders which are loaded according to the preference highlighted above.

    • When a user is logged out, the widget_out.php will be used.
    • If logged out, then widget_in.php will be used
    • If either of these files don't exist in your template, the one located in the default folder will be used (which you can also override in your theme).

Examples

If you wanted to change some text on the default theme, you could simply copy wp-content/plugins/login-with-ajax/widget/default to wp-content/themes/yourtheme/plugins/login-with-ajax/default and edit the files as needed.

If you need to change the CSS file, copy the file wp-content/plugins/login-with-ajax/widget/widget.css over to wp-content/themes/yourtheme/plugins/login-with-ajax/widget.css and edit accordingly.

The JavaScript ajax magic relies on the class names and hierarchical structure within the template files, if you want to modify the templates without adding your own JS, make sure you keep these class names and structure intact.

Requires: 3.1 or higher
Compatible up to: 4.0.7
Last Updated: 2014-9-7
Active Installs: 40,000+

Ratings

4.5 out of 5 stars

Support

3 of 15 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 100,1,1
100,1,1 100,2,2 100,1,1 100,1,1
0,1,0 100,1,1 0,1,0 100,1,1 0,1,0
0,1,0
86,7,6 0,1,0 100,1,1 0,1,0 100,1,1 0,1,0
100,2,2 67,3,2 100,7,7 100,7,7 100,1,1 100,2,2 67,3,2 0,1,0
88,8,7 83,6,5 50,2,1 100,4,4
80,10,8 100,1,1 100,1,1 100,5,5
75,4,3
50,4,2
75,4,3 100,3,3
100,2,2
80,15,12
88,8,7
50,4,2
60,5,3
0,1,0 100,1,1
85,20,17
100,7,7
82,11,9 100,2,2
100,10,10
0,2,0
78,9,7
100,12,12
100,5,5
80,10,8 33,3,1 50,2,1 100,6,6
0,2,0
83,6,5
67,3,2
100,3,3
100,3,3
83,6,5
100,1,1
100,1,1 0,1,0
100,1,1
58,12,7
100,1,1
67,3,2
100,2,2
100,2,2
100,1,1