В первой статье этой серии мы рассмотрели введение в глобальные переменные 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, мы должны увидеть следующий результат:
Таким образом, мы можем получить доступ к каждому из отдельных значений вышеуказанного объекта следующим образом:
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
шаблона WordPressget_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 —>
|
Завершение
На этом мы завершаем вторую часть серии. Как видно из приведенного выше примера, можно использовать глобальные переменные для выполнения простых операций над сложными функциями в рамках разработки WordPress.