معرفی تابع 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
دیدگاهتان را بنویسید