diff --git a/civicrm.php b/civicrm.php index 1fe2824..afad93b 100644 --- a/civicrm.php +++ b/civicrm.php @@ -1420,29 +1420,26 @@ public function clear_edit_post_menu_item() { * @return mixed|null|string */ public function get_base_url($absolute, $frontend, $forceBackend) { - $config = CRM_Core_Config::singleton(); - - if (!isset($config->useFrameworkRelativeBase)) { - $base = parse_url($config->userFrameworkBaseURL); - $config->useFrameworkRelativeBase = $base['path']; + $config = CRM_Core_Config::singleton(); + if (!defined('CIVICRM_UF_ADMINURL')) { + define('CIVICRM_UF_ADMINURL', CIVICRM_UF_BASEURL . 'wp-admin/'); + } + if (!defined('CIVICRM_UF_WP_BASEURL')) { + define('CIVICRM_UF_WP_BASEURL', CIVICRM_UF_BASEURL ); } - - $base = $absolute ? $config->userFrameworkBaseURL : $config->useFrameworkRelativeBase; - if ((is_admin() && !$frontend) || $forceBackend) { - $base .= admin_url( 'admin.php' ); - return $base; + $url = CIVICRM_UF_ADMINURL . 'admin.php'; + return $url; } elseif (defined('CIVICRM_UF_WP_BASEPAGE')) { - $base .= CIVICRM_UF_WP_BASEPAGE; - return $base; + $url = CIVICRM_UF_WP_BASEURL . CIVICRM_UF_WP_BASEPAGE ; + return $url; } elseif (isset($config->wpBasePage)) { - $base .= $config->wpBasePage; - return $base; + $url = CIVICRM_UF_WP_BASEURL . $config->wpBasePage; + return $url; } - - return $base; + return $absolute ? $url : preg_replace(';https?://[^/]+/;', '/', $url); }