wp_get_recent_posts

Получает последние посты блога.

По умолчанию будут получены 10 последних постов.

Хуков нет.

Возвращает

список постов в виде двумерного массива данных (не объекта).

Использование

<?php wp_get_recent_posts( $args ) ?>

Шаблон использования

$args = array(
	 'numberposts' => 10
	,'offset' => 0
	,'category' => 0
	,'orderby' => 'post_date'
	,'order' => 'DESC'
	,'include' => ''
	,'exclude' => ''
	,'meta_key' => ''
	,'meta_value' => ''
	,'post_type' => 'post'
	,'post_status' => 'draft, publish, future, pending, private'
	,'suppress_filters' => true
); 

$result = wp_get_recent_posts( $args );
foreach( $result as $post ){ setup_postdata( $post );
	the_title(); // вывод
}
wp_reset_postdata();
$args(число)
Массив аргументов по которым нужно получить последние посты, какие аргументы можно использовать смотрите в описании query_posts(). Аргументы добавлены в версии 3.1, до этого в этот параметр передавалось число — сколько последних постов выводить.
По умолчанию: предустановки

Примеры

1. Последние записи

Выведем список из 6-ти ссылок на последние уже опубликованные записи из категории 5:

<?php 
$args = array(
	 'numberposts' => 6
	,'category' => 5
	,'post_status' => 'publish'
); 

$result = wp_get_recent_posts($args);

foreach( $result as $p ){ 
?>
	— <a href="<?php echo get_permalink($p['ID']) ?>"><?php echo $p['post_title'] ?></a><br />    
<?php 
} 
?>

2. Для версий ниже 3.1

Работает для версий ниже 3.1. Это пример, показывает как использовать функцию wp_get_recent_posts, для того чтобы вывести список из 7 последних постов на экран. Список будет в виде ссылок на посты.

<ul>
  <li>
	<h2>Posts Recentes</h2>
	<ul>
	<?php
	  $recent_posts = wp_get_recent_posts(7);
	  foreach($recent_posts as $post){
		echo '<li><a href="' . get_permalink($post["ID"]) . '" title="'.$post["post_title"].'" >' .   $post["post_title"].'</a> </li> ';
	  } ?>
	</ul>
  </li>
</ul>

Данные, возвращаемые для каждого поста

ID
(число) Идентификатор записи.
post_author
(число) Идентификатор автора записи.
post_date
(строка) Дата записи в формате YYYY-MM-DD HH:MM:SS (с учетом исправления времени).
post_date_gmt
(строка) Дата записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
post_content
(строка) Текст записи.
post_title
(строка) Заголовок записи.
post_excerpt
(строка) Цитата записи.
post_status
(строка) Статут записи, может быть: publish|pending|draft|private|static|object|attachment|inherit|future|trash.
comment_status
(строка) Возможность комментирования для записи, может быть: open|closed|registered_only.
ping_status
(строка) Статус пингов/трэкбэков, может быть: open|closed.
post_password
(строка) Пароль записи.
post_name
(строка) Имя записи (слаг). Название которое обычно используется в УРЛ-е.
to_ping
(строка) УРЛ-ы из статьи, на которые нужно отправить уведомления при обновлении поста.
pinged
(строка) УРЛ-ы из статьи, которые уже получили уведомления.
post_modified
(строка) Дата изменения записи в формате YYYY-MM-DD HH:MM:SS (с учетом корректировки времени).
post_modified_gmt
(число/строка) Дата изменения записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
post_parent
(число) ID родительской страницы (отлично от нуля у прикрепленных типов записей).
guid
(строка) Ссылка на запись. Важно: использовать этот параметр в качестве постоянной ссылки для поста неправильно, если версия вашего WordPress выше 2.5. Это уникальный идентификатор записи, который позднее стал ссылкой на запись.
menu_order
(число) Порядковый номер для построения меню (используется для постоянных страниц).
post_type
(строка) Тип записи (post|page|attachment).
post_mime_type
(строка) Миме тип записи (jpg|png|zip|pdf и т.д.). Используется для прикрепленных записей.
comment_count
(число) Количество комментариев у записи.

Код из


wp-includes/post.php

WP 4.7.2

<?php
function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {

	if ( is_numeric( $args ) ) {
		_deprecated_argument( __FUNCTION__, '3.1.0', __( 'Passing an integer number of posts is deprecated. Pass an array of arguments instead.' ) );
		$args = array( 'numberposts' => absint( $args ) );
	}

	// Set default arguments.
	$defaults = array(
		'numberposts' => 10, 'offset' => 0,
		'category' => 0, 'orderby' => 'post_date',
		'order' => 'DESC', 'include' => '',
		'exclude' => '', 'meta_key' => '',
		'meta_value' =>'', 'post_type' => 'post', 'post_status' => 'draft, publish, future, pending, private',
		'suppress_filters' => true
	);

	$r = wp_parse_args( $args, $defaults );

	$results = get_posts( $r );

	// Backward compatibility. Prior to 3.1 expected posts to be returned in array.
	if ( ARRAY_A == $output ){
		foreach ( $results as $key => $result ) {
			$results[$key] = get_object_vars( $result );
		}
		return $results ? $results : array();
	}

	return $results ? $results : false;

}

Комментарии:


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

Your email address will not be published. Required fields are marked *