otgamera
@otgamera
Что то знаю, что то нет!

Как передать в сообщение вк по api источник ошибки 404?

Есть интересная задумка которая сейчас работает, но работает не до конца ровно. Реализовано это всё на 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( спасибо челу с тостера ( хабр вопросы )
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
вывести в странице код ошибки я не знаю

А вот узнайте. И не городите таких костылей с шорткодами.

<?php echo do_action('template_redirect'); ?>

Это вообще не в тему, так как ВП выполняет хук template_redirect самостоятельно.

А ответ на ваш вопрос гуглится за 10 секунд:
https://stackoverflow.com/a/6768831
Получаете запрашиваемый УРЛ и добавляете его к тексту сообщения
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
otgamera
@otgamera Автор вопроса
Что то знаю, что то нет!
А <?php echo do_action('template_redirect'); ?> был туда вставлен не опытным путем ... А именно был взят код который захватывает страницу 404 (у меня в профиле был вопрос, по типу как захватить 404)
+ Каков будет код что бы это всё работало?
Что нужно написать что бы отправлялось?
Знания кода минимум
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы