Больше результатов...

Generic selectors
Только точные совпадения
Искать в заголовках
Искать в контенте
Post Type Selectors
Filter by Categories
FAQ
Hostenko
Вдохновение
Видеоуроки
Новости
Плагины
Темы
Уроки
Хаки

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

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

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

inet.ws - Powerful VPS Hosting in the USA, Canada, UK and DE!

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

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

1
2
3
4
<?php
  
    global $authordata;  
    print_r( $authordata );

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<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, то увидим следующий результат:

Использование глобальных переменных в WordPress на практике

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

1
2
3
<?php
    global $authordata;
    echo $authordata->display_name;

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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. Как видите из примера выше, с их помощью можно выполнять простые операции сложных функций на WordPress.

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

Источник: code.tutsplus.com
inet.ws - Powerful VPS Hosting in the USA, Canada, UK and DE!
Алексей Шевченко
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующийся на создании сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Комментарии к записи: 1

Ян:

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

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