В предыдущей статье мы ознакомились с глобальными переменными 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.
Справочник по функциям:
- https://codex.wordpress.org/Global_Variables
- https://codex.wordpress.org/Function_Reference/get_posts
- https://codex.wordpress.org/Function_Reference/get_permalink
- https://codex.wordpress.org/Function_Reference/get_the_title





















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