|
17 | 17 | */ |
18 | 18 | class UrlHelper { |
19 | 19 |
|
20 | | - /** |
21 | | - * Get site base URL. |
22 | | - * |
23 | | - * @param string $path Optional path. |
24 | | - * |
25 | | - * @return string |
26 | | - */ |
27 | | - public static function site( $path = '' ) { |
28 | | - return esc_url( site_url( $path ) ); |
29 | | - } |
30 | | - |
31 | | - /** |
32 | | - * Get home URL. |
33 | | - * |
34 | | - * @param string $path Optional path. |
35 | | - * |
36 | | - * @return string |
37 | | - */ |
38 | | - public static function home( $path = '' ) { |
39 | | - return esc_url( home_url( $path ) ); |
40 | | - } |
41 | | - |
42 | | - /** |
43 | | - * Get admin URL. |
44 | | - * |
45 | | - * @param string $path Optional path. |
46 | | - * @return string |
47 | | - */ |
48 | | - public static function admin( $path = '' ) { |
49 | | - return esc_url( admin_url( $path ) ); |
50 | | - } |
51 | | - |
52 | 20 | /** |
53 | 21 | * Get AJAX URL. |
54 | 22 | * |
55 | | - * @return string |
56 | | - */ |
57 | | - public static function ajax() { |
58 | | - return esc_url( admin_url( 'admin-ajax.php' ) ); |
59 | | - } |
60 | | - |
61 | | - /** |
62 | | - * Get REST API base URL. |
| 23 | + * @since 4.0.0 |
63 | 24 | * |
64 | | - * @param string $route Optional route. |
65 | 25 | * @return string |
66 | 26 | */ |
67 | | - public static function rest( $route = '' ) { |
68 | | - return esc_url( rest_url( $route ) ); |
| 27 | + public static function ajax() : string { |
| 28 | + return admin_url( 'admin-ajax.php' ); |
69 | 29 | } |
70 | 30 |
|
71 | 31 | /** |
72 | 32 | * Get plugin asset URL. |
73 | 33 | * |
| 34 | + * @since 4.0.0 |
| 35 | + * |
74 | 36 | * @param string $path Relative asset path. |
75 | 37 | * @return string |
76 | 38 | */ |
77 | | - public static function asset( $path = '' ) { |
78 | | - return esc_url( tutor()->assets_url . $path ); |
| 39 | + public static function asset( $path = '' ) : string { |
| 40 | + return tutor()->assets_url . $path; |
79 | 41 | } |
80 | 42 |
|
81 | 43 | /** |
82 | 44 | * Get current URL. |
83 | 45 | * |
| 46 | + * @since 4.0.0 |
| 47 | + * |
84 | 48 | * @return string |
85 | 49 | */ |
86 | | - public static function current() { |
| 50 | + public static function current() : string { |
87 | 51 | global $wp; |
88 | 52 |
|
89 | | - return esc_url( |
90 | | - home_url( |
91 | | - add_query_arg( array(), $wp->request ) |
92 | | - ) |
| 53 | + return home_url( |
| 54 | + add_query_arg( array(), $wp->request ) |
93 | 55 | ); |
94 | 56 | } |
95 | 57 |
|
96 | 58 | /** |
97 | | - * Get referer URL safely. |
98 | | - * |
99 | | - * @return string |
100 | | - */ |
101 | | - public static function referer() { |
102 | | - return esc_url( wp_get_referer() ); |
103 | | - } |
104 | | - |
105 | | - /** |
106 | | - * Check if current request is HTTPS. |
| 59 | + * Add query params to URL. |
107 | 60 | * |
108 | | - * @return bool |
109 | | - */ |
110 | | - public static function is_https() { |
111 | | - return is_ssl(); |
112 | | - } |
113 | | - |
114 | | - /** |
115 | | - * Prepare URL with query args. |
| 61 | + * @since 4.0.0 |
116 | 62 | * |
117 | 63 | * @param string $url URL. |
118 | | - * @param array $query_args Query args. |
| 64 | + * @param array $query_params Query params. |
119 | 65 | * |
120 | 66 | * @return string |
121 | 67 | */ |
122 | | - public static function prepare( $url, array $query_args = array() ) { |
| 68 | + public static function add_query_params( $url, array $query_params = array() ) : string { |
123 | 69 | $url = ltrim( $url, '/' ); |
124 | 70 |
|
125 | | - if ( ! empty( $query_args ) ) { |
126 | | - $url = add_query_arg( $query_args, $url ); |
| 71 | + if ( ! empty( $query_params ) ) { |
| 72 | + $url = add_query_arg( $query_params, $url ); |
127 | 73 | } |
128 | 74 |
|
129 | | - return esc_url( $url ); |
| 75 | + return $url; |
130 | 76 | } |
131 | 77 |
|
132 | 78 | /** |
133 | | - * Add query args to URL. |
134 | | - * |
135 | | - * @param string $url URL. |
136 | | - * @param array $query_args Query args. |
| 79 | + * Remove query params from URL. |
137 | 80 | * |
138 | | - * @return string |
139 | | - */ |
140 | | - public static function add_query_var( $url, array $query_args = array() ) { |
141 | | - return self::prepare( $url, $query_args ); |
142 | | - } |
143 | | - |
144 | | - /** |
145 | | - * Remove query args from URL. |
| 81 | + * @since 4.0.0 |
146 | 82 | * |
147 | 83 | * @param string $url URL. |
148 | | - * @param array $query_args Query args. |
149 | | - * |
150 | | - * @return string |
151 | | - */ |
152 | | - public static function remove_query_var( $url, array $query_args = array() ) { |
153 | | - return self::prepare( $url, array_diff_key( $query_args, $query_args ) ); |
154 | | - } |
155 | | - |
156 | | - /** |
157 | | - * Get login URL with redirect. |
158 | | - * |
159 | | - * @param string $redirect Redirect URL. |
160 | | - * @return string |
161 | | - */ |
162 | | - public static function login( $redirect = '' ) { |
163 | | - return esc_url( wp_login_url( $redirect ) ); |
164 | | - } |
165 | | - |
166 | | - /** |
167 | | - * Get logout URL. |
| 84 | + * @param array $query_params Query params. |
168 | 85 | * |
169 | | - * @param string $redirect Redirect URL. |
170 | 86 | * @return string |
171 | 87 | */ |
172 | | - public static function logout( $redirect = '' ) { |
173 | | - return esc_url( wp_logout_url( $redirect ) ); |
| 88 | + public static function remove_query_params( $url, array $query_params = array() ) : string { |
| 89 | + return remove_query_arg( $query_params, $url ); |
174 | 90 | } |
175 | 91 | } |
176 | 92 |
|
0 commit comments