تعداد بازدید: 1811

معرفی تابع get_posts در وردپرس

در این مقاله میخوایم که تابع get_post و get_posts رو معرفی کنیم . این تابع کار کوئری هایی که با شی WP_Query می گرفتیم . خوبیه این توابع این هست که در پنل ادمین میشه ازشون استفاده کرد ولی نمیشه در پنل ادمین از شی  WP_Query استفاده کرد.

تابع get_post

این تابع برای گرفتن یک post به تنهایی است که به صورت زیر تعریف می شود.

get_post( int|WP_Post|null $post = null, string $output = OBJECT, string $filter = 'raw' )

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

تابع get_posts

این تابع برای گرفتن چندین پست با پست تایپ و ویژگی های خاص هست که حتی از meta_query و tax_query ها هم پشتیبانی می کنه.

<?php
 $args = array(
        'name' => ''
	'posts_per_page'   => 5,
	'offset'           => 0,
	'category'         => '',
	'category_name'    => '',
	'orderby'          => 'date',
	'order'            => 'DESC',
	'include'          => '',
	'exclude'          => '',
	'meta_key'         => '',
	'meta_value'       => '',
	'post_type'        => 'post',
	'post_mime_type'   => '',
	'post_parent'      => '',
	'author'	   => '',
	'author_name'	   => '',
	'post_status'      => 'publish',
	'suppress_filters' => true 
);
$posts_array = get_posts( $args ); ?>

پارامتر های مهم این تابع به قرار زیر است

  • posts_per_page : تعداد پست خروجی یا همون limit در mysql است . نکته مهم این است که اگر پارامتر offset رو set  نکرده باشید این تابع کار نمی کنه. پس برای استفاده از پارامتر posts_per_page حتما offset بدید و می تونید روی مقدار 0 اون رو set کنید.
  • category : اگر دارید از پست تایپ post استفاده می کنید می تونید با توجه به دسته بندی این خروجی رو داشته باشید که مقدار این پارامتر رو باید id اون دسته بندی بدید به صورت رشته ای از اعداد که با کاما (,) از هم جدا شدن .
  • name : اگر slug پست رو بدید به شما بر میگردونه پست رو.
  • order_by : این پارامتر می تونه اساس مرتب سازی شما رو تعیین کنه که می تونه موارد زیر باشه :’none’ – بدون ترتیب.
    ‘ID’ – مرتب سازی بر اساس شناسه پست یا id (دقت داشته باشید با حروف بزرگ نوشته شود).
    ‘author’ – مرتب سازی بر اساس نویسنده .
    ‘title’ – بر اساس نام.
    ‘date’ – براساس تاریخ.
    ‘modified’ – مرتب سازی بر اساس آخرین زمان تغییر.
    ‘parent’ – مرتب سازی بر اساس شناسه والد یا parent_id.
    ‘rand’ – ‘گرفتن پست ها به صورت تصادفی (random).
    ‘comment_count’ – مرتب سازی بر اساس تعداد دیدگاه.
    ‘menu_order’ – مرتب سازی بر اساس menu_order هست که جزو موارد support در زمان ساخت پست تایپ می باشد. بدین گونه که اگر پست تایپ شما از page-attributes پشتیبانی کند این خروجی پست های شما بر اساس عددی که در این فیلد قرار داده اید مرتب می شوند. به صورت پیش فرض این عدد 0 است.
    ‘meta_value’ – مرتب سازی بر اساس مقدار متا در پست ها که در آن باید meta_key = key از قبل set شده باشه.این مورد برای meta_key هایی از نوع رشته باشند.
    ‘meta_value_num’ – مرتب سازی بر اساس متا هایی که از جنس عدد هستند .
    ‘post__in’ – در این مورد شما دستی پست هایی که در پارامتر include قرار دادید رو مرتب می کنید.
  • author : بر اساس id نویسنده.
  • پشتیبانی این تابع از query_meta
  • پشتیبانی این تابع از tax_query

 

مطالب مشابه

آموزش نکات و تکنیک های برنامه نویسی وردپرس

rewrite API در وردپرس (قسمت اول)

اگر شما وردپرس روی وب سرویس آپاچی نصب کرده باشید قطعا از rewrite API استفاده می کنید(حتی اگر آشنایی باهاش نداشته...

آموزش نکات و تکنیک های برنامه نویسی وردپرس

WP_Query در وردپرس

مدل محتوای (Model) وردپرس پست است ، یعنی محتواها در قالب های مختلف پست هایی با ویژگی های مختلف می باشند. کلاس WP_Query...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای معرفی تابع get_posts در وردپرس

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *