Статьи

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

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

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

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

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

Далее, давайте отредактируем page.php темы на двадцать page.php и page.php приведенный выше фрагмент сразу после get_template_part('content', 'page') который извлекает контент и отображает его на странице.

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

01
02
03
04
05
06
07
08
09
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 и page.php доступ к существующей странице WordPress, мы должны увидеть следующий результат:

Authordatapng

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

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

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

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

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

Сначала добавьте функцию для извлечения и отображения трех сообщений автора в functions.php

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function tutsplus_display_three_posts() {
 
    global $authordata, $post;
 
    $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 ) . ‘»>’ .
     
    }
    $output .= ‘</ul>’;
     
    return $output;
 
}
  • Сначала мы объявляем, что обращаемся к глобальным переменным $authordata и $post . Мы переходим к использованию get_posts шаблона WordPress get_posts чтобы получить три сообщения от текущего автора и сохранить их в массиве $author_three_posts.
  • Во-вторых, мы $author_three_posts массив $author_three_posts используя цикл foreach для печати заголовка поста, который ссылается на реальный пост, здесь мы используем get_permalink и get_the_title для извлечения ссылки и заголовка из идентификатора поста.
  • Наконец, мы возвращаем напечатанное значение как переменную с именем $output .

Затем, вызовите tutsplus_display_three_posts() функции tutsplus_display_three_posts() которое будет выполнено в single.php двадцать single.php темы:

01
02
03
04
05
06
07
08
09
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 —>
После этого откройте одну страницу сообщения, чтобы проверить выполнение нашего кода:

LatestPostspng

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