From b5c12c5545a9b5767266c062a6d82bac1b0a0427 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Wed, 24 Jul 2019 20:06:08 +0800 Subject: [PATCH] Add new filter to modify home URL Allows to change the home/landing page URL when viewing restricted pages instead of permanently set the redirection to the default home page --- includes/core/um-actions-profile.php | 6 +++--- includes/um-short-functions.php | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/includes/core/um-actions-profile.php b/includes/core/um-actions-profile.php index cb3336fd..7e22f258 100644 --- a/includes/core/um-actions-profile.php +++ b/includes/core/um-actions-profile.php @@ -1068,7 +1068,7 @@ function um_pre_profile_shortcode( $args ) { if ( um_get_requested_user() ) { if ( ! um_can_view_profile( um_get_requested_user() ) && ! um_is_myprofile() ) - um_redirect_home(); + um_redirect_home( um_get_requested_user(), um_is_myprofile() ); if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) UM()->user()->cannot_edit = 1; @@ -1076,7 +1076,7 @@ function um_pre_profile_shortcode( $args ) { um_fetch_user( um_get_requested_user() ); } else { if ( ! is_user_logged_in() ) - um_redirect_home(); + um_redirect_home( um_get_requested_user(), um_is_myprofile() ); if ( ! um_user( 'can_edit_profile' ) ) UM()->user()->cannot_edit = 1; @@ -1088,7 +1088,7 @@ function um_pre_profile_shortcode( $args ) { if ( um_get_requested_user() ) { if ( ! UM()->roles()->um_current_user_can( 'edit', um_get_requested_user() ) ) { - um_redirect_home(); + um_redirect_home( um_get_requested_user(), um_is_myprofile() ); } um_fetch_user( um_get_requested_user() ); } diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php index d42ed97e..3ffc9cc9 100644 --- a/includes/um-short-functions.php +++ b/includes/um-short-functions.php @@ -593,11 +593,15 @@ function um_field_conditions_are_met( $data ) { /** * Exit and redirect to home */ -function um_redirect_home() { - exit( wp_redirect( home_url() ) ); +function um_redirect_home( $requested_user_id = '', $is_my_profile = '') { + + $url = apply_filters("um_redirect_home_custom_url", home_url(), $requested_user_id, $is_my_profile ); + + exit( wp_redirect( $url ) ); } + /** * @param $url */