Я только что установил newrelic и, к своему удивлению, понял, что простая функция WP home_url
была в числе 4 самых трудоемких звонков в моем магазине woocommerce.Это удивительно и, откровенно говоря, действительно разочаровывает.
Посмотрите:
Есть идеи, почему это может быть?Или что можно сделать, чтобы улучшить его?У меня также установлен WPML.
Обновление
Я переписал функцию, и должен сказать, что при первоначальном тестировании она способ быстрее.Смотрите это:
Total Execution Time (home_url): 0.44862604141235 Secs
Total Execution Time (faster_home_url): 0.0031168460845947 Secs
Функция (может быть добавлена в файл функций темы):
function faster_home_url($path = '') {
/**
* Append language
*/
if(ICL_LANGUAGE_CODE !== 'en') { // primary language
$path = ICL_LANGUAGE_CODE . '/' . $path;
}
/**
* Append domain
*/
$path = $_SERVER['HTTP_HOST'] . '/' . $path;
/**
* Append HTTPS
*/
$path = (($_SERVER['HTTPS'] === 'on') ? 'https' : 'http') . '://' . str_replace('//', '/', ($path . '/'));
return $path;
}