diff --git a/.gitattributes b/.gitattributes index 2cae3bc07..9a826b0ba 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,9 +1,13 @@ /.* export-ignore -CHANGELOG.txt export-ignore +bin export-ignore CODE_OF_CONDUCT.md export-ignore +changelog.txt export-ignore composer.* export-ignore Gruntfile.js export-ignore +renovate.json export-ignore package.json export-ignore package-lock.json export-ignore -phpcs.xml export-ignore +webpack.config.js export-ignore +phpcs.xml.dist export-ignore +phpunit.xml.dist export-ignore README.md export-ignore diff --git a/.github/workflows/push-asset-readme-update.yml b/.github/workflows/push-asset-readme-update.yml new file mode 100644 index 000000000..74f649106 --- /dev/null +++ b/.github/workflows/push-asset-readme-update.yml @@ -0,0 +1,17 @@ +name: Plugin asset/readme update +on: + push: + branches: + - update/push-to-trunk +jobs: + master: + name: Push to trunk + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: WordPress.org plugin asset/readme update + uses: 10up/action-wordpress-plugin-asset-update@stable + env: + SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} + SVN_USERNAME: ${{ secrets.SVN_USERNAME }} + IGNORE_OTHER_FILES: true diff --git a/composer.lock b/composer.lock index 113ea885c..0f9a4d3e4 100644 --- a/composer.lock +++ b/composer.lock @@ -229,25 +229,25 @@ }, { "name": "clue/term-react", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/clue/reactphp-term.git", - "reference": "eb6eb063eda04a714ef89f066586a2c49588f7ca" + "reference": "00f297dc597eaee2ebf98af8f27cca5d21d60fa3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/reactphp-term/zipball/eb6eb063eda04a714ef89f066586a2c49588f7ca", - "reference": "eb6eb063eda04a714ef89f066586a2c49588f7ca", + "url": "https://api.github.com/repos/clue/reactphp-term/zipball/00f297dc597eaee2ebf98af8f27cca5d21d60fa3", + "reference": "00f297dc597eaee2ebf98af8f27cca5d21d60fa3", "shasum": "" }, "require": { "php": ">=5.3", - "react/stream": "^1.0 || ^0.7" + "react/stream": "^1.2" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8", - "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/event-loop": "^1.2" }, "type": "library", "autoload": { @@ -286,7 +286,7 @@ ], "support": { "issues": "https://github.com/clue/reactphp-term/issues", - "source": "https://github.com/clue/reactphp-term/tree/v1.3.0" + "source": "https://github.com/clue/reactphp-term/tree/v1.4.0" }, "funding": [ { @@ -298,7 +298,7 @@ "type": "github" } ], - "time": "2020-11-06T11:50:12+00:00" + "time": "2024-01-30T10:22:09+00:00" }, { "name": "clue/utf8-react", @@ -435,16 +435,16 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -476,9 +476,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-09-27T20:04:15+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/instantiator", @@ -883,16 +883,16 @@ }, { "name": "mck89/peast", - "version": "v1.15.4", + "version": "v1.16.1", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18" + "reference": "f6e681062bb25c8dacbd30e079f4ad3fd890d7ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/1df4dc28a6b5bb7ab117ab073c1712256e954e18", - "reference": "1df4dc28a6b5bb7ab117ab073c1712256e954e18", + "url": "https://api.github.com/repos/mck89/peast/zipball/f6e681062bb25c8dacbd30e079f4ad3fd890d7ad", + "reference": "f6e681062bb25c8dacbd30e079f4ad3fd890d7ad", "shasum": "" }, "require": { @@ -905,7 +905,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15.4-dev" + "dev-master": "1.16.1-dev" } }, "autoload": { @@ -926,9 +926,9 @@ "description": "Peast is PHP library that generates AST for JavaScript code", "support": { "issues": "https://github.com/mck89/peast/issues", - "source": "https://github.com/mck89/peast/tree/v1.15.4" + "source": "https://github.com/mck89/peast/tree/v1.16.1" }, - "time": "2023-08-12T08:29:29+00:00" + "time": "2024-02-14T08:15:19+00:00" }, { "name": "mustache/mustache", @@ -1434,16 +1434,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.3", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc", + "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc", "shasum": "" }, "require": { @@ -1486,9 +1486,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0" }, - "time": "2023-08-12T11:01:26+00:00" + "time": "2024-01-11T11:49:22+00:00" }, { "name": "phpoption/phpoption", @@ -1636,16 +1636,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.24.5", + "version": "1.25.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc" + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fedf211ff14ec8381c9bf5714e33a7a552dd1acc", - "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", "shasum": "" }, "require": { @@ -1677,9 +1677,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.5" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" }, - "time": "2023-12-16T09:33:33+00:00" + "time": "2024-01-04T17:06:16+00:00" }, { "name": "phpunit/php-code-coverage", @@ -3114,16 +3114,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7" + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7", - "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", "shasum": "" }, "require": { @@ -3133,11 +3133,11 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" }, "bin": [ - "bin/phpcs", - "bin/phpcbf" + "bin/phpcbf", + "bin/phpcs" ], "type": "library", "extra": { @@ -3190,7 +3190,7 @@ "type": "open_collective" } ], - "time": "2023-12-08T12:32:31+00:00" + "time": "2024-01-11T20:47:48+00:00" }, { "name": "symfony/console", @@ -3346,16 +3346,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -3369,9 +3369,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3408,7 +3405,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -3424,20 +3421,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -3451,9 +3448,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3491,7 +3485,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -3507,20 +3501,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", "shasum": "" }, "require": { @@ -3528,9 +3522,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3570,7 +3561,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" }, "funding": [ { @@ -3586,20 +3577,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -3607,9 +3598,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3653,7 +3641,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -3669,7 +3657,7 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/process", @@ -4325,16 +4313,16 @@ }, { "name": "wp-cli/wp-cli", - "version": "v2.9.0", + "version": "v2.10.0", "source": { "type": "git", "url": "https://github.com/wp-cli/wp-cli.git", - "reference": "8a3befba2d947fbf5cc6d1941edf2dd99da4d4b7" + "reference": "a339dca576df73c31af4b4d8054efc2dab9a0685" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/8a3befba2d947fbf5cc6d1941edf2dd99da4d4b7", - "reference": "8a3befba2d947fbf5cc6d1941edf2dd99da4d4b7", + "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/a339dca576df73c31af4b4d8054efc2dab9a0685", + "reference": "a339dca576df73c31af4b4d8054efc2dab9a0685", "shasum": "" }, "require": { @@ -4364,7 +4352,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.9.x-dev" + "dev-main": "2.10.x-dev" } }, "autoload": { @@ -4391,7 +4379,7 @@ "issues": "https://github.com/wp-cli/wp-cli/issues", "source": "https://github.com/wp-cli/wp-cli" }, - "time": "2023-10-25T09:06:37+00:00" + "time": "2024-02-08T16:52:43+00:00" }, { "name": "wp-coding-standards/wpcs", diff --git a/languages/user-registration.pot b/languages/user-registration.pot index ac02fcd6d..6a4d3968d 100644 --- a/languages/user-registration.pot +++ b/languages/user-registration.pot @@ -9,9 +9,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2024-02-12T08:32:52+00:00\n" +"POT-Creation-Date: 2024-02-16T05:20:37+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"X-Generator: WP-CLI 2.9.0\n" +"X-Generator: WP-CLI 2.10.0\n" "X-Domain: user-registration\n" #. Plugin Name of the plugin @@ -2337,11 +2337,11 @@ msgstr "" #: includes/admin/settings/emails/class-ur-settings-confirm-email-address-change-email.php:95 msgid "" -"Dear {{display_name}},\n" -"\t\t\t\t\t\t\t

You recently requested to change your email address associated with your account to {{updated_new_user_email}} .

\n" -"\t\t\t\t\t\t\t

To confirm this change, please click on the following link: {{email_change_confirmation_link}}\n" -"\t\t\t\t\t\t\tThis link will only be active for 24 hours.If you did not request this change, please ignore this email or contact us for assistance.

\n" -"\t\t\t\t

Best regards,
\n" +"Dear {{display_name}},\r\n" +"\t\t\t\t\t\t\t

You recently requested to change your email address associated with your account to {{updated_new_user_email}} .

\r\n" +"\t\t\t\t\t\t\t

To confirm this change, please click on the following link: {{email_change_confirmation_link}}\r\n" +"\t\t\t\t\t\t\tThis link will only be active for 24 hours.If you did not request this change, please ignore this email or contact us for assistance.

\r\n" +"\t\t\t\t

Best regards,
\r\n" "\t\t\t\t {{blog_info}}

" msgstr "" diff --git a/readme.txt b/readme.txt index 026b813f5..fe14103ae 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -=== User Registration - Custom Registration Form, Login Form And User Profile For WordPress === +=== User Registration - Custom Registration Form, Login Form, and User Profile WordPress Plugin === Contributors: WPEverest Tags: user registration, registration, user profile, registration form, login form, Requires at least: 5.2 @@ -20,11 +20,11 @@ Moreover, this free, lightweight, and 100% responsive plugin comes with a beauti The best thing is that there are unlimited customization options for each field and form. To add more extendibility to this, you get premium addons to include extra functionalities in your registration forms. So, you’ve got yourself a fantastic WordPress user registration and login plugin. -[youtube https://www.youtube.com/watch?v=BdZNmZecPoQ] +[youtube https://youtu.be/ZOXVbfBTNPQ] -[All features](https://wpuserregistration.com/) | [Demo](https://userregistration.demoswp.net/) | [Documentation](https://docs.wpuserregistration.com/) +[All Features](https://wpuserregistration.com/) | [Documentation](https://docs.wpuserregistration.com/) -[Try User Registration Premium ](https://userregistration.demoswp.net/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) +[Test User Registration Premium for Free ](https://userregistration.demoswp.net/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) ### Key Features of User Registration * **Easy Drag and Drop Builder:** Simply drag and drop the form fields into a blank slate and create a registration form in no time. No code, no fuss. @@ -73,7 +73,7 @@ The best thing is that there are unlimited customization options for each field * **[Premium] [Connect Registration Forms with 1000+ Services via Zapier:](https://wpuserregistration.com/features/zapier/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Zapier passes information to all the applications your registration forms are connected with. This helps you save time by automating tasks like collecting form responses, sending texts and reminders. -* **[Premium] Integrations with Email Marketing Services:** Promote your business with the correct email marketing tools like [MailChimp](https://wpuserregistration.com/features/mailchimp/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) , [MailerLite](https://wpuserregistration.com/features/mailerlite/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) and [Active Campaign](https://wpuserregistration.com/features/activecampaign/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro). Integrating them with User Registration adds all your registered users to subscriber lists directly. +* **[Premium] Integrations with Email Marketing Services:** Promote your business with the correct email marketing tools like [Mailchimp](https://wpuserregistration.com/features/mailchimp/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) , [MailerLite](https://wpuserregistration.com/features/mailerlite/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro), [ActiveCampaign](https://wpuserregistration.com/features/activecampaign/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro) and [Klaviyo](https://wpuserregistration.com/features/klaviyo/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro). Integrating them with User Registration adds all your registered users to subscriber lists directly. * **[Premium] [Drag and Drop Multi File Upload:](https://wpuserregistration.com/features/file-uploads/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** The multiple file upload feature is perfect for when you need to collect more than one document or image file. You only have to set the maximum file upload limit from the field options. @@ -91,13 +91,13 @@ The best thing is that there are unlimited customization options for each field * **[Premium] [Prevent Concurrent Login:](https://docs.wpuserregistration.com/docs/how-to-map-the-user-registration-form-fields-value-to-external-plugin-field-metas/)** Enhances security by allowing site owners to setup number of times a user can login into different browsers or devices at the same time. -* **[Premium] [Redirect to Previous Page:]** Smoothens user experience by redirecting users back to their previous page after login. +* **[Premium] Redirect to Previous Page:** Smoothens user experience by redirecting users back to their previous page after login. * **[Premium] [Role-Based Redirection:](https://wpuserregistration.com/pricing/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Smoothens user experience by redirecting users back to their previous page after login. * **[Premium] [External URL Data Transfer:](https://docs.wpuserregistration.com/docs/user-registration-pro/#post-submission-send-data-to-custom-url)** Facilitates connection with third-party services by sending form data to an external URL post-submission. -* **[Premium] [Elementor Support:]** Utilize the User Registration widget in your Elementor editor to quickly add registration forms to any page and customize their design. +* **[Premium] Elementor Support:** Utilize the User Registration widget in your Elementor editor to quickly add registration forms to any page and customize their design. * **[Premium] [Keyboard-Friendly Forms:](https://docs.wpuserregistration.com/docs/keyboard-shortcut-in-form-builder/#1-toc-title)** Instantly direct a user to the registration form on a page without any distractions and let them fill the form using their keyboard only. @@ -109,7 +109,15 @@ The best thing is that there are unlimited customization options for each field * **[Premium] [Save and Continue:](https://wpuserregistration.com/features/save-and-continue/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Users can save their progress on a registration form and come back to it later to submit the form. -* **[Premium] [Klaviyo:](https://wpuserregistration.com/features/klaviyo/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Sync your user registration forms with Klaviyo to automatically collect user data for personalized marketing campaigns. +* **[Premium] [Personalized Communication with Private Notes:](https://wpuserregistration.com/features/private-notes/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Share important updates, personalized messages, etc., with users. Plus, users can respond to these notes with their queries and receive answers. + +* **[Premium] [Enable Form Restrictions:](https://wpuserregistration.com/features/form-restriction/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** Restrict access to your WordPress registration forms with custom conditions. + +* **[Premium] [Frontend User Listing:](https://wpuserregistration.com/features/frontend-listing/?utm_source=wporg&utm_medium=link&utm_campaign=ur-upgrade-to-pro)** List registered users in the front end to help visitors and users view the profile of all the listed members. + +* **[Premium] Track User Journey:** Get detailed information about the pages a user visited on your website and the time they spent on the pages. + +* **[Premium] Login and Registration Popups:** Turn simple inline registration and login forms into popups for better user engagement and conversion. ### User Registration Has Every Form Field You’ll Ever Need: @@ -217,7 +225,7 @@ Here’s a brief look at the features that make User Registration one of the bes * Registration Denied Email * Reset Password Email, and more * Assign user roles on registration -* acilitates WordPress user management +* Facilitates WordPress user management * Prevent dashboard access to specific user roles * Enable strong passwords * In-built login form @@ -258,7 +266,7 @@ Here’s a brief look at the features that make User Registration one of the bes * Delete or replace file uploads * Set valid file types * Set maximum file size -* Email marketing with MailChimp and MailerLite +* Email marketing with Mailchimp, MailerLite, ActiveCampaign and Klaviyo * Export form data as a PDF * Collect geolocation information of users * Accept payments with Stripe and PayPal @@ -267,6 +275,10 @@ Here’s a brief look at the features that make User Registration one of the bes * Conditional logic for interactive forms * LearnDash integration * WooCommerce integration +* Set custom form restriction rules +* Send private notes to users +* Track and analyze user journey +* Add registration and login popup forms ### Know your way around User Registration with our tutorials