kaiser
  • 0
Гуру

Как проверить глобальные переменные в WordPress

  • 0

Люди часто не понимают, как получить данные из глобальных объектов/переменных.

Вопрос: Какими способами вы можете проверять глобальные переменные?


Этот вопрос был написан, потому что он довольно часто нужен здесь, в WA. Я просто хотел, чтобы это было в качестве избранного для ссылки здесь (люди часто не смотрят основные ссылки на github).

Не стесняйтесь изменять пример, если что-то не так или вы считаете, что в объяснении чего-то не хватает. Если вы хотите добавить другие полезные материалы, добавьте каждый из них как отдельный ответ. Спасибо.

Share
  1. Это должна быть вики сообщества или перефразированная в вопрос.

    • 0
  2. Или, если вам лень, просто установите плагин Debug Bar.

    Он добавляет кнопку на панель администратора, при нажатии которой открывается панель со всевозможной полезной информацией, включая уведомления об устаревании, переменные WP_Query и журнал запросов SQL.

    • 0
  3. Как проверить данные:

    Используйте это, чтобы получить представление о том, что вы можете использовать из текущего запроса/wp_query.

    function inspect_wp_query() 
    {
      echo '<pre>';
        print_r($GLOBALS['wp_query']);
      echo '</pre>';
    }
    // If you're looking at other variables you might need to use different hooks
    // this can sometimes be a little tricky.
    // Take a look at the Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
    add_action('shutdown', 'inspect_wp_query', 999); // Query on public facing pages
    add_action('admin_footer', 'inspect_wp_query', 999); // Query in admin UI
    

    Кстати:

        // this:
        global $wp_query;
        $wp_query;
        // is the same as
        $wp_query;
        // and as this:
        $GLOBALS['wp_query'];
    
    // You can do this with each other global var too, like $post, etc.
    

    Как на самом деле получить данные:

    // Example (not the best one)
    (Object) WP_Query -> post (stdClass) -> postdata (Array)
    
    // How to get the data:
    // Save object into var
    $my_data = new WP_Query; // on a new object
    // or on the global available object from the current request
    $my_data = $GLOBALS['wp_query'];
    
    // get object/stdClass "post"
    $my_post_data = $my_data->post;
    // get Array
    $my_post_data = $my_data['post'];
    

    Примеры

    • 0
  4. В зависимости от того, где происходит загрузка скриптов и рендеринг конечного вывода, некоторые из вышеупомянутых переменных могут отсутствовать. Если вам нужен довольно всеобъемлющий вид, возможно, немного экстремальный, попробуйте:

    var_dump($GLOBALS);
    

    var_dump также удобен тем, что сообщает вам тип и немного форматирует данные.

    • 0

Оставить ответ

You must login to add an answer.