В предыдущей статье мы ознакомились с глобальными переменными WordPress. Они содержат разного рода информацию, которую можно получить с любого места жизненного цикла страницы. Мы также узнали, как получить доступ к глобальным переменным и отобразить данные о последнем посте с помощью глобальной переменной $post.

Смотрите также:

А сегодня мы продолжим наше изучение глобальных переменных, но уже более подробно на практике узнаем, как получить к ним доступ, чтоб отобразить авторскую информацию.

Получение авторских данных

Большинство данных об авторе определенного поста либо записи доступны через глобальную переменную $authordata. Чтоб приступить к работе с ней, нам нужно использовать следующий сниппет:

<?php
 
    global $authordata;   
    print_r( $authordata );

Затем редактируем файл page.php темы TwentyFourteen и добавляем вышеуказанный сниппет сразу же после кода get_template_part(‘content’, ‘page’), который поможет нам извлечь информацию и отобразить ее на странице.

И сейчас у нас уже есть следующий код в шаблоне страницы:

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">
 
        <?php
        while ( have_posts() ) : the_post();
     
            get_template_part( 'content', 'page' );
     
            global $authordata; 
            print_r( $authordata );
     
            // If comments are open or we have at least one comment, load up the comment template.
     
            if ( comments_open() || get_comments_number() ) {
                comments_template();
            }
     
        endwhile;
        ?>
 
    </div><!-- #content -->
 
</div><!-- #primary -->

Когда мы сохраним page.php и получим доступ к странице WordPress, то увидим следующий результат:

Таким образом, вам может быть доступно каждое из отдельных значений с помощью кода:

<?php
    global $authordata;
    echo $authordata->display_name;

Вышеуказанный сниппет отобразит имя автора страницы. По такому же принципу можно написать сниппет кода, который отобразит другие значения $authordata, как например, имя пользователя, почтовый адрес, прочее.

И помните, что мы могли бы использовать $authordata в разработке нашей темы и плагина для выполнения различных функций.

Отображение трех последних постов автора

Теперь давайте получим список трех последних постов конкретного автора и отобразим сами посты ссылками с помощью глобальной переменной $authordata. Для этого нужно сделать несколько простых шагов:

Во-первых, добавим функцию, чтоб извлечь и отобразить три поста автора в functions.php

<?php
function tutsplus_display_three_posts() {
 
    global $authordata, $post;  //Declare Global Variables
 
    $authors_three_posts = get_posts( 
                            array(
                                'author'         => $authordata->ID, 
                                'posts_per_page' => 3
                            )
                           );                          
 
    echo '<h5>Latest Posts</h5>';
     
    $output = '<ul>';
    foreach ( $authors_three_posts as $authors_post ) {
        $output .= '<li><a href="' . get_permalink( $authors_post->ID ) . '">' . get_the_title($authors_post->ID) . '</a></li>';
     
    }
    $output .= '</ul>';
     
    return $output;
 
}
  • Сначала заявляем о том, что нам нужен доступ к глобальным переменным $authordata и $post. А затем используем тэг get_posts шаблона WordPress, чтоб извлечь три последних поста конкретного автора и разместить их в списке под названием $author_three_posts.
  • После этого создаем цикл $author_three_posts с помощью foreach для отображения заголовка поста, который ведет на сам пост. Для извлечения ссылки и заголовка с ID поста мы используем get_permalink и get_the_title.
  • И наконец, мы возвращаем полученное значение в качестве переменной $output.

Во-вторых, используем название функции tutsplus_display_three_posts() для файла single.php темы TwentyFourteen:

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">
 
    <?php
    while ( have_posts() ) : the_post();
     
        get_template_part( 'content', get_post_format() );
     
        echo tutsplus_display_three_posts();
     
        twentyfourteen_post_nav();
     
        if ( comments_open() || get_comments_number() ) {
            comments_template();
        }
     
    endwhile;
    ?>
 
    </div><!-- #content -->
</div><!-- #primary -->

После этого откройте страницу одного из постов для тестирования нашего кода:

Заключение

На этом мы закончили наше знакомство и практическое использование глобальных переменных WordPress. Как видите из примера выше, с их помощью можно выполнять простые операции сложных функций на WordPress.

Справочник по функциям:

Источник: code.tutsplus.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1 комментарий

сначала новые
по рейтингу сначала новые по хронологии

Есть еще одна идея, как можно использовать подсчет количества записей произвольного типа на wordpress и вывод его в админке: artyan. ru/подсчет-количества-записей-wordpress/