%d8%aa%d9%88%d8%a7%d8%a8%d8%b9-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%d8%8c%d9%85%d8%b9%d8%b1%d9%81%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-wp_get_recent_posts-wpmen

وردپرس دارای توابع بسیاری می باشد که هرکدام کار خاصی را انجام می دهند.برای راحتی کاربران این توابع بسیار کار آمد می باشند به حدی که شاید یک وب سایت کامل وردپرسی با توابع کار توسعه دهندگان را آسان کرده و سایت راه اندازی شود.

یکی از این توابع وردپرسی ، تابع پر کاربرد wp_get_recent_posts می باشد.این تابع به ما کمک می کند تا لیست آخرین مطالب یا همان مطالب اخیر (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( $args, ARRAY_A );
?>

مقادیر بازگشتی

$results (array) 
لیستی از آرایه ها و یا شی ها وابسته به output$ 
 
FALSE (boolean) 
اگر نتیجه ای برای خروجی وجود نداشت
 

پارامترها

$args
آرایه (اختیاری)
 

 

پیشفرض: آرایه
$output
یک آرایه اختیاری که شامل آبجکت ها و یا آرایه می باشد
پیشفرض: آرایه

مثال ها

مثال ۱

در زیر بر اساس تنظیمات نمایش تعداد پست ، پست های آخر را نمایش می دهد(پیشفرض ۱۰ می باشد)

<h2>Recent Posts</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> ';
	}
	wp_reset_query();
?>
</ul>

مثال ۲

نمایش تعداد دلخواه برای پست های آخر 

با استفاده از numberposts می توان تعداد پست را انتخاب کرد

<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> ';
	}
	wp_reset_query();
?>
</ul>

مثال ۳

در کد زیر می توان نوع پستی و taxonomy را نیز تعیین کرد

<h2>Recent Posts</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> ';
	}
	wp_reset_query();
?>
</ul>

مثال ۴ 

نمایش پست ها همراه با تصویر thumbnail

<ul id="slider-id" class="slider-class">
    <?php
    $recent_posts = wp_get_recent_posts(array(
        'numberposts' => 4, // Number of recent posts thumbnails to display
        'post_status' => 'publish' // Show only the published posts
    ));
    foreach($recent_posts as $post) : ?>
        <li>
            <a href="<?php echo get_permalink($post['ID']) ?>">
                <?php echo get_the_post_thumbnail($post['ID'], 'full'); ?>
                //Assuming that the slider support captions 
                <p class="slider-caption-class"><?php echo $post['post_title'] ?></p>
            </a>
        </li>
    <?php endforeach; wp_reset_query(); ?>
</ul>

کد اصلی در فایل wp-includes/post.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;
 
}

 

 

منبع :‌ مردان وردپرس

تاریخ آخرین بروزرسانی : ۲۷ آبان ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.