WordPress.org

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Справочник по функциям/wp get recent posts

Эта страница помечена как незавершённая. Вы можете помочь проекту, дополнив её.

Описание

Возвращает самые последние записи.

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

<?php wp_get_recent_posts$args$output ?>

Использование значений по умолчанию

<?php $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 );

    
$recent_posts wp_get_recent_posts$argsARRAY_A );
?>

Возвращаемое значение

$posts (array) 
Список записей, каждая запись возвращается как массив значений (по умолчанию) или объект, в зависимости от $output

Параметры

$args
(array) (необязательный)
Default: array
$output
(string) (необязательный) Constant OBJECT, ARRAY_A
Default: ARRAY_A

Примеры

Этот пример показывает как использовать функцию wp_get_recent_posts(), чтобы вывести 10 последних записей.

<h2>Последние записи</h2>
<ul>
<?php
	$recent_posts = wp_get_recent_posts();
	foreach( $recent_posts as $recent ){
		echo '<li><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a> </li> ';
	}
?>
</ul>

Чтобы вывести больше или меньше последних записей укажите число в параметре функции как показано ниже:

<h2>Recent Posts</h2>
<ul>
<?php
	$args = array( 'numberposts' => '5' );
	$recent_posts = wp_get_recent_posts( $args );
	foreach( $recent_posts as $recent ){
		echo '<li><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a> </li> ';
	}
?>
</ul>

Чтобы исключить записи определенного формата вы можете использовать Классы/WP_Query#Taxonomy_Parameters как в следующем примере, в котором исключаются все записи формата 'aside' и 'image':

<h2>Последние записи</h2>
<ul>
<?php
	$args = array( 'numberposts' => '5', 'tax_query' => array(
			array(
				'taxonomy' => 'post_format',
				'field' => 'slug',
				'terms' => 'post-format-aside',
				'operator' => 'NOT IN'
			), 
			array(
				'taxonomy' => 'post_format',
				'field' => 'slug',
				'terms' => 'post-format-image',
 				'operator' => 'NOT IN'
			)
	) );
	$recent_posts = wp_get_recent_posts( $args );
	foreach( $recent_posts as $recent ){
		echo '<li><a href="' . get_permalink($recent["ID"]) . '">' .   ( __($recent["post_title"])).'</a> </li> ';
	}
?>
</ul>

В последнем примере вы можете видеть как post_title помещен внутрь __() функции, это используется для перевода (интернализации) (это важно в случае использования многоязычного сайта).

Замечания

  • Использует: wp_parse_args()
  • Использует: get_posts()
  • * Только значение ARRAY_A проверяется для $output. Любое другое переданное значение или константа вернет массив объектов.
  • Эта функция возвращает записи в ассоциативном массиве формата (ARRAY_A), который совместим с WordPress версий ниже 3.1. Чтобы получить такое же возвращаемое значение как у функции get_posts(), передайте вторым параметром OBJECT: wp_get_recent_posts( $args, OBJECT );

История изменений

  • Добавлена: 1.0.0
  • 3.1.0: Параметр $num заменен на $args.

Исходные файлы

wp_get_recent_posts() расположена в wp-includes/post.php.

Похожее

See also index of Function Reference and index of Template Tags.