WordPress как реализовать шорткод PHP - PullRequest
0 голосов
/ 15 февраля 2019

Я попытался реализовать код, который может получить область пользователя, когда пользователь открывает страницу, но он не работает. Я использовал этот код внутри functions.php

function user_region() { 
       $ip = $_SERVER['REMOTE_ADDR'];
       $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
        return '<div class="user-region">'.$details->region.'</div>';  
    }  
    add_shortcode("get-user-region", "user_region"); 

это мой шорткодвнутри functions.php и я использовал шорткод на странице wordpress

<?php echo get-user-region_callback(); ?>
<?php echo do_shortcode('[get-user-region]') ?>

Я пробовал оба пути, но оба не работают, никаких результатов не видно из этого шорткода.

1 Ответ

0 голосов
/ 15 февраля 2019

Прежде всего, ваш URL к ipinfo неверен.Если ответ обрабатывается как JSON, но вывод https://ipinfo.io/ip is HTML. You need to specify / json` в конце:

https://ipinfo.io/{$ip}/json

Кроме этого, вам необходимо убедиться, что на вашей платформе включен file_get_content и чтопозволяет удаленную загрузку URL (настройка allow_url_fopen).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...