Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../core/utils/import-e...
File: url.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Elementor\Core\Utils\ImportExport;
[2] Fix | Delete
[3] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[4] Fix | Delete
exit; // Exit if accessed directly.
[5] Fix | Delete
}
[6] Fix | Delete
[7] Fix | Delete
class Url {
[8] Fix | Delete
[9] Fix | Delete
/**
[10] Fix | Delete
* Migrate url to the current permalink structure.
[11] Fix | Delete
* The function will also check and change absolute url to relative one by the base url.
[12] Fix | Delete
* This is currently supports only "Post Name" permalink structure to any permalink structure.
[13] Fix | Delete
*
[14] Fix | Delete
* @param string $url The url that should be migrated.
[15] Fix | Delete
* @param string|Null $base_url The base url that should be clean from the url.
[16] Fix | Delete
*
[17] Fix | Delete
* @return string The migrated url || the $url if it couldn't find a match in the current permalink structure.
[18] Fix | Delete
*/
[19] Fix | Delete
public static function migrate( $url, $base_url = '' ) {
[20] Fix | Delete
$full_url = $url;
[21] Fix | Delete
[22] Fix | Delete
if ( ! empty( $base_url ) ) {
[23] Fix | Delete
$base_url = preg_quote( $base_url, '/' );
[24] Fix | Delete
$url = preg_replace( "/^{$base_url}/", '', $url );
[25] Fix | Delete
}
[26] Fix | Delete
[27] Fix | Delete
$parsed_url = wp_parse_url( $url );
[28] Fix | Delete
[29] Fix | Delete
if ( $url === $full_url && ! empty( $parsed_url['host'] ) ) {
[30] Fix | Delete
return $full_url;
[31] Fix | Delete
}
[32] Fix | Delete
[33] Fix | Delete
if ( ! empty( $parsed_url['path'] ) ) {
[34] Fix | Delete
$page = get_page_by_path( $parsed_url['path'] );
[35] Fix | Delete
[36] Fix | Delete
if ( ! $page ) {
[37] Fix | Delete
return $full_url;
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
$permalink = get_permalink( $page->ID );
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
if ( empty( $permalink ) ) {
[44] Fix | Delete
return $full_url;
[45] Fix | Delete
}
[46] Fix | Delete
[47] Fix | Delete
if ( ! empty( $parsed_url['query'] ) ) {
[48] Fix | Delete
parse_str( $parsed_url['query'], $parsed_query );
[49] Fix | Delete
[50] Fix | Delete
// Clean WP permalinks query args to prevent collision with the new permalink.
[51] Fix | Delete
unset( $parsed_query['p'] );
[52] Fix | Delete
unset( $parsed_query['page_id'] );
[53] Fix | Delete
[54] Fix | Delete
$permalink = add_query_arg( $parsed_query, $permalink );
[55] Fix | Delete
}
[56] Fix | Delete
[57] Fix | Delete
if ( ! empty( $parsed_url['fragment'] ) ) {
[58] Fix | Delete
$permalink .= '#' . $parsed_url['fragment'];
[59] Fix | Delete
}
[60] Fix | Delete
[61] Fix | Delete
return wp_make_link_relative( $permalink );
[62] Fix | Delete
}
[63] Fix | Delete
}
[64] Fix | Delete
[65] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function