Достался мне значит очередной сайт
Смотрим логи, а тама
[warn] [pid 25449] sapi_apache2.c(362): [client 2a03:6f00:1::5c35:6085:43826] PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'wp_shortlink_header' not found or invalid function name in /home/c/......./public_html/wp-includes/class-wp-hook.php on line 284
Ага, в скрипте class-wp-hook.php при помощи call_user_func_array() вызывается не объявленная функция wp_shortlink_header. Как так? Функция ядра и не объявлена?
Ищем объявление через Find in files и вуаля:
/** * Injects rel=shortlink into the head if a shortlink is defined for the current page. * * Attached to the {@see 'wp_head'} action. * * @since 3.0.0 function wp_shortlink_wp_head() { $shortlink = wp_get_shortlink( 0, 'query' ); if ( empty( $shortlink ) ) return; echo "<link rel='shortlink' href='" . esc_url( $shortlink ) . "' />\n"; }*/ /** * Sends a Link: rel=shortlink header if a shortlink is defined for the current page. * * Attached to the {@see 'wp'} action. * * @since 3.0.0 function wp_shortlink_header() { if ( headers_sent() ) return; $shortlink = wp_get_shortlink(0, 'query'); if ( empty($shortlink) ) return; header('Link: <' . $shortlink . '>; rel=shortlink', false); } */
Находим даже две закомментированные функции в файле /wp-includes/link-template.php — одна выводит в head тэг <link rel=’shortlink’… а вторая посылает такой же заголовок браузеру.
Гуглим эту дичь и находим вот что — https://www.seowind.ru/wordpress/ubiraem-link-relshortlink-iz-zagolovka-otveta-servera-wp/
Надеюсь Юрий морально вырос над собой с далекого 2013 года и больше таких советов не раздает, к тому же в комментах есть правильное решение. Вот оно :
remove_action( 'wp_head','wp_shortlink_wp_head',10); remove_action( 'template_redirect', 'wp_shortlink_header', 11);
Добавляем эти строчки в functions.php, и возвращаем все на место. Обратите внимание на приоритеты! Их нужно расставить так, как они были при объявлении хука. Вот на каме подробнее об этом https://wp-kama.ru/question/udalenie-shortlink
Все, лог ошибок PHP девственно чист.
Добавить комментарий