Есть интересная задумка которая сейчас работает, но работает не до конца ровно. Реализовано это всё на wp с кастомной страницей 404. Код который ниже цепляет страницу 404 и отправляет сообщение в вк (на сайте работает скрипт который время от времени падает(+ плагин перезаписывает важный файл и всё ломается (отменить ему запись не варик), а оперативных способов нет - как вовремя узнать что ошибки пошли)
//сразу говорю в коде не шарю вообще - дремучий лес)
Код
function wpd_do_stuff_on_404(){
if( is_404() ){
$url = 'https://api.vk.com/method/messages.send';
$params = array(
'user_id' => $id = '266212779', // Кому отправляем, если взять вместо и вставить user_ids тогда можно будет добавлять id через запятую (сообщение будет отправляться 2х пользователям)
'message' => $message = '<br>__ ▂ ▃ ▅ ▇ █ 。◕‿ ◕。 █ ▇ ▅ ▃ ▂ __<br>Привет! На сайте появилась ошибка 404<br>Проверь пожалуйста<br>[ ▇ ▃ ▄ ▅ █ ▇ ▂ ▃ ▁ ▄ ▅ █ ▅ ▃ ▇ ]', // Что отправляем
'access_token' => '0000000000000000000000000', // access_token можно вбить хардкодом, если работа будет идти из под одного юзера
'v' => '5.37',
);
// В $result вернется id отправленного сообщения
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params)
)
)));
}
}
add_action( 'template_redirect', 'wpd_do_stuff_on_404' );
Собственно вопрос - как на движке wp передать в поле сообщения ссылку на источник ошибки 404
p.s. что бы код работал в файл 404.php было добалено это -
<?php echo do_shortcode( ' [wbcr_php_snippet id="1135"]' ); ?> (плагин добаления шорткодов, потому что как вывести в странице код ошибки я не знаю, а вот как добавить шорткод в php это я нагуглил)
<?php echo do_action('template_redirect'); ?>
код взят из какой то статьи на хабре
был найден хук что бы зацепить страницу 404( спасибо челу с тостера ( хабр вопросы )