Задать вопрос
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( спасибо челу с тостера ( хабр вопросы )
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 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)
+ Каков будет код что бы это всё работало?
Что нужно написать что бы отправлялось?
Знания кода минимум
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы