- added filters for integration with redirect URLs (login, logout, register, account delete, custom homepage);

- fixed SSL permalinks;
This commit is contained in:
nikitozzzzzzz
2018-03-16 14:20:37 +02:00
parent 8e348e084e
commit 70e33dcacf
6 changed files with 617 additions and 468 deletions
+23
View File
@@ -225,6 +225,29 @@ if ( ! class_exists( 'Access' ) ) {
return;
$redirect_homepage = um_user( 'redirect_homepage' );
/**
* UM hook
*
* @type filter
* @title um_custom_homepage_redirect_url
* @description Change custom homepage redirect
* @input_vars
* [{"var":"$url","type":"string","desc":"Redirect URL"},
* {"var":"$id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_custom_homepage_redirect_url', 'function_name', 10, 2 ); ?>
* @example
* <?php
* add_filter( 'um_custom_homepage_redirect_url', 'my_custom_homepage_redirect_url', 10, 2 );
* function my_custom_homepage_redirect_url( $url, $id ) {
* // your code here
* return $url;
* }
* ?>
*/
$redirect_homepage = apply_filters( 'um_custom_homepage_redirect_url', $redirect_homepage, um_user( 'ID' ) );
$redirect_to = ! empty( $redirect_homepage ) ? $redirect_homepage : um_get_core_page( 'user' );
$this->redirect_handler = $this->set_referer( esc_url( add_query_arg( 'redirect_to', urlencode_deep( $curr ), $redirect_to ) ), "custom_homepage" );
+24 -1
View File
@@ -56,9 +56,32 @@ if ( ! class_exists( 'Logout' ) ) {
session_unset();
exit( wp_redirect( home_url( $language_code ) ) );
} else {
/**
* UM hook
*
* @type filter
* @title um_logout_redirect_url
* @description Change redirect URL after logout
* @input_vars
* [{"var":"$url","type":"string","desc":"Redirect URL"},
* {"var":"$id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_logout_redirect_url', 'function_name', 10, 2 ); ?>
* @example
* <?php
* add_filter( 'um_logout_redirect_url', 'my_logout_redirect_url', 10, 2 );
* function my_logout_redirect_url( $url, $id ) {
* // your code here
* return $url;
* }
* ?>
*/
$redirect_url = apply_filters( 'um_logout_redirect_url', um_user( 'logout_redirect_url' ), um_user( 'ID' ) );
wp_logout();
session_unset();
exit( wp_redirect( um_user('logout_redirect_url') ) );
exit( wp_redirect( $redirect_url ) );
}
File diff suppressed because it is too large Load Diff
+24 -1
View File
@@ -166,7 +166,30 @@ function um_submit_account_errors_hook( $args ) {
if ( um_user( 'after_delete' ) && um_user( 'after_delete' ) == 'redirect_home' ) {
um_redirect_home();
} elseif ( um_user( 'delete_redirect_url' ) ) {
exit( wp_redirect( um_user( 'delete_redirect_url' ) ) );
/**
* UM hook
*
* @type filter
* @title um_delete_account_redirect_url
* @description Change redirect URL after delete account
* @input_vars
* [{"var":"$url","type":"string","desc":"Redirect URL"},
* {"var":"$id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_delete_account_redirect_url', 'function_name', 10, 2 ); ?>
* @example
* <?php
* add_filter( 'um_delete_account_redirect_url', 'my_delete_account_redirect_url', 10, 2 );
* function my_delete_account_redirect_url( $url, $id ) {
* // your code here
* return $url;
* }
* ?>
*/
$redirect_url = apply_filters( 'um_delete_account_redirect_url', um_user( 'delete_redirect_url' ), um_user( 'ID' ) );
exit( wp_redirect( $redirect_url ) );
} else {
um_redirect_home();
}
+27 -3
View File
@@ -10,8 +10,8 @@ if ( ! defined( 'ABSPATH' ) ) exit;
function um_submit_form_errors_hook_login( $args ){
$is_email = false;
$form_id = $args['form_id'];
$mode = $args['mode'];
$form_id = $args['form_id'];
$mode = $args['mode'];
$user_password = $args['user_password'];
@@ -218,7 +218,30 @@ if ( ! defined( 'ABSPATH' ) ) exit;
break;
case 'redirect_url':
exit( wp_redirect( um_user( 'login_redirect_url' ) ) );
/**
* UM hook
*
* @type filter
* @title um_login_redirect_url
* @description Change redirect URL after successful login
* @input_vars
* [{"var":"$url","type":"string","desc":"Redirect URL"},
* {"var":"$id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_login_redirect_url', 'function_name', 10, 2 ); ?>
* @example
* <?php
* add_filter( 'um_login_redirect_url', 'my_login_redirect_url', 10, 2 );
* function my_login_redirect_url( $url, $id ) {
* // your code here
* return $url;
* }
* ?>
*/
$redirect_url = apply_filters( 'um_login_redirect_url', um_user( 'login_redirect_url' ), um_user( 'ID' ) );
exit( wp_redirect( $redirect_url ) );
break;
case 'refresh':
@@ -240,6 +263,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
***/
add_action( 'um_submit_form_login', 'um_submit_form_login', 10 );
function um_submit_form_login( $args ) {
if ( ! isset( UM()->form()->errors ) ) {
/**
* UM hook
+26 -1
View File
@@ -194,7 +194,32 @@ if ( ! defined( 'ABSPATH' ) ) exit;
if ( $status != 'approved' ) {
if ( um_user( $status . '_action' ) == 'redirect_url' && um_user( $status . '_url' ) != '' ) {
exit( wp_redirect( um_user( $status . '_url' ) ) );
/**
* UM hook
*
* @type filter
* @title um_registration_pending_user_redirect
* @description Change redirect URL for pending user after registration
* @input_vars
* [{"var":"$url","type":"string","desc":"Redirect URL"},
* {"var":"$status","type":"string","desc":"User status"},
* {"var":"$user_id","type":"int","desc":"User ID"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_registration_pending_user_redirect', 'function_name', 10, 3 ); ?>
* @example
* <?php
* add_filter( 'um_registration_pending_user_redirect', 'my_registration_pending_user_redirect', 10, 3 );
* function my_registration_pending_user_redirect( $url, $status, $user_id ) {
* // your code here
* return $url;
* }
* ?>
*/
$redirect_url = apply_filters( 'um_registration_pending_user_redirect', um_user( $status . '_url' ), $status, um_user( 'ID' ) );
exit( wp_redirect( $redirect_url ) );
}
if ( um_user( $status . '_action' ) == 'show_message' && um_user( $status . '_message' ) != '' ) {