Yoast\WP\SEO\Helpers
Url_Helper::recreate_current_url
Recreate current URL.
Метод класса: Url_Helper{}
Хуков нет.
Возвращает
Строку.
Использование
$Url_Helper = new Url_Helper(); $Url_Helper->recreate_current_url( $with_request_uri );
- $with_request_uri(true|false)
- Whether we want the REQUEST_URI appended.
По умолчанию:true
Код Url_Helper::recreate_current_url() Url Helper::recreate current url Yoast 26.9
public function recreate_current_url( $with_request_uri = true ) {
$current_url = 'http';
if ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ) {
$current_url .= 's';
}
$current_url .= '://';
// phpcs:ignore WordPress.Security.ValidatedSanitizedInput -- We know this is scary.
$suffix = ( $with_request_uri && isset( $_SERVER['REQUEST_URI'] ) ) ? $_SERVER['REQUEST_URI'] : '';
if ( isset( $_SERVER['SERVER_NAME'] ) && ! empty( $_SERVER['SERVER_NAME'] ) ) {
// phpcs:ignore WordPress.Security.ValidatedSanitizedInput -- We know this is scary.
$server_name = $_SERVER['SERVER_NAME'];
}
else {
// Early return with just the path.
return $suffix;
}
$server_port = '';
if ( isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] !== '80' && $_SERVER['SERVER_PORT'] !== '443' ) {
// phpcs:ignore WordPress.Security.ValidatedSanitizedInput -- We know this is scary.
$server_port = $_SERVER['SERVER_PORT'];
}
if ( ! empty( $server_port ) ) {
$current_url .= $server_name . ':' . $server_port . $suffix;
}
else {
// phpcs:ignore WordPress.Security.ValidatedSanitizedInput -- We know this is scary.
$current_url .= $server_name . $suffix;
}
return $current_url;
}