Как вывести авторов, недавно проявлявших активность в блоге

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

Для этого нужно вставить в файл functions.php:

function get_latest_authors( $number_of_authors = 10 ) {
	if ( false === ( $latest_authors = get_transient( 'latest_authors' ) ) ) {
 
		$args = array(
			'orderby' => 'modified',
			'post_type' => 'post',
			'post_status' => 'publish',
			'numberposts' => '-1'
		);
 
		$count = 1;
		$recent_posts = wp_get_recent_posts( $args );
		$latest_authors_array = array();
 
		foreach( $recent_posts as $the_post ) {
			if ( $count == $number_of_authors ) break;
			if ( ! in_array( $the_post['post_author'], $latest_authors_array ) ) {
				$latest_authors_array[] =$the_post['post_author'];
				$count++;
			}
		}
 
		$latest_authors = '';
 
		set_transient( 'latest_authors', $latest_authors, 60 * 60 * 1  ); // 60 секунд * 60 минут * 1 час = 1 час
	}
	return $latest_authors;
}

Эта функция выводит 10 авторов, которые последними редактировали или публиковали посты. Количество авторов задается параметром [code inline=”yes”]$number_of_authors = 10 – вы можете изменить его.

Чтобы функция не терзала базу данных каждый раз при формировании страницы, в ней задается период опросов set_transient = 60 секунд * 60 минут * 1 час = 1 час – его вы тоже можете изменить.

Так же можно изменить и количество проверяемых постов – если у вас большая активность, и за день редактируется большое количество постов (допустим, 100-200), то выуживание их статуса из базы данных каждый час может вызвать повышение нагрузки на хостинг. Чтобы этого не произошло, можно ограничить это количество, указав [code inline=”yes”]’numberposts’ => ‘-1’ не -1 (проверять все посты), а, скажем, 50 – будут проанализированы только 50 постов, которые были отредактированы последними. Однако тут может возникнуть ситуация, что в этих 50 постах не наберется запланированное количество авторов (10) – тут нужно нужно поэкспериментировать. Если же количество постов в районе не сотен, а десятков, то можно сканировать и все посты подряд.

Для того, чтобы вывести список авторов, нужно использовать:


Ник каждого автора будет ссылкой на архив постов, им написанных.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*