Я не совсем уверен, когда именно это происходит, поскольку это происходит только на работающем сервере, а не локально.Но время от времени (несколько раз в минуту) я получаю уведомление PHP в моем debug.log
.
Уведомление PHP: Trying to get property of non-object in /path/to/wordpress/wp-content/themes/themename/vendor/roots/sage-woocommerce/src/woocommerce.php on line 57
Мне даже удалось точно определить точную проблему, которая составляет get_current_screen()->id
.
Самое странное, что если я выполняю те же действия на своем локальном сайте, что и на живом сайте, локально я получаю 0 уведомлений об этом, но на живом сайте я получаю примерно 4 уведомления в минуту.(из-за того, что это живой сайт и люди делают заказы и т.Живой сайт размещен на облачных каналах и имеет собственный сервер.
Я пытался указать require_once(ABSPATH . 'wp-admin/includes/screen.php');
в файле sage woocommerce.php
и var_dump(get_current_screen());
, но это просто возвращает NULL
.
Со временем я много чего пытался решить эту проблему, но, если честно, прошло уже некоторое время с тех пор, как я в последний раз пробовал это, и у меня не осталось никакого кода от этого.
Точный код, в котором эта проблема возникает в этом файле:
add_filter('wc_get_template', function ($template, $template_name, $args) {
$theme_template = locate_template(WC()->template_path() . $template_name);
// return theme filename for status screen
if (is_admin() && ! wp_doing_ajax() && function_exists('get_current_screen') && get_current_screen() && get_current_screen()->id === 'woocommerce_page_wc-status') {
return $theme_template ? : $template;
}
// return empty file, output already rendered by 'woocommerce_before_template_part' hook
return $theme_template ? get_stylesheet_directory() . '/index.php' : $template;
}, 100, 3);
Плюсом этого является то, что он не ограничивает возможность заказа товаров, а обратной стороной является:Мне не нравится это уведомление, и оно серьезно заполняет debug.log
Я ожидаю, что часть -> id вернет 'woocommerce_page_wc-status', но, как упоминалось ранее, она просто возвращает NULL
независимо от того, что яделать.
Любая помощь будет принята с благодарностью, поскольку нигде нет статей / сообщений об этом.