mrtsherman
  • 0
Учитель

Хлебные крошки — узнать автора?

  • 0

У меня есть собственная функция, называемая хлебными крошками(). В нем я вызываю is_author(), чтобы определить, нахожусь ли я на странице автора. Если это правда, я хотел бы знать, на странице какого автора я нахожусь. Я попробовал the_author(), но ничего не вышло. Я также просмотрел кодекс WP. Может кто-нибудь помочь?

Share
  1. Позвоните echo $GLOBALS['wp_query']->query_vars['author_name'];, и он должен показать вам автора.

    Вы также можете echo $GLOBALS['wp_query']->post->post_author; или echo $GLOBALS['wp_query']->queried_object->post_author; .

    надеюсь, я не перепутал с массивами и объектами.

    • 0
  2. Итак, я понял это, просмотрев файл author.php, включенный в тему двадцать десять. Очевидно, вам нужно сначала получить доступ к сообщениям, прежде чем создавать хлебные крошки. Следующий код работал для меня:

    if (is_author()) {      
        the_post();
        echo '<a href="">Author Archive for '.get_the_author().'</a>';
        rewind_posts(); //or first post will be cut off
    }
    
    • 0
  3. Потому что люди часто путаются в том, как получить данные из глобальных объектов/переменных

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

    function inspect_wp_query() 
    {
      echo '<pre>';
        print_r($GLOBALS['wp_query'])
      echo '</pre>';
    }
    add_action( 'template_redirect' ); // Query on public facing pages
    add_action( 'admin_notices' ); // 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
    $my_post_data = $my_data->post;
    // get Array
    $my_post_data = $my_data['post'];
    
    • 0

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

You must login to add an answer.