• PROFESYONEL WORDPRESS TEMALARI
  • RESPONSIVE WORDPRESS TEMALARI
  • PREMIUM WORDPRES TEMALARI
  • SEO UYUMLU WORDPRESS TEMALARI
  • YÖNETİLEBİLİR WORDPRESS TEMALARI

get_posts

get_posts içine parametreler alan ve yaptığınız filtrelemeler sonucunda size yazıları döndüren fonksiyondur, her ne kadar WP_Query önerilse de get_posts fonksiyonunu kullanmakta bir sakınca yoktur.

get_posts fonksiyonun parametreleri get_pages fonksiyonunun parametrelerine oldukça benzerdir ancak yinede ayrıt edici farkları vardır, get_pages doğrudan veritabanı üzerinde doğrulama yaparken get_posts WP_Query kullanır.

Örnek Kullanım;

  1. <?php $args = array(
  2.     'posts_per_page'   => 5,
  3.     'offset'           => 0,
  4.     'category'         => '',
  5.     'category_name'    => '',
  6.     'orderby'          => 'date',
  7.     'order'            => 'DESC',
  8.     'include'          => '',
  9.     'exclude'          => '',
  10.     'meta_key'         => '',
  11.     'meta_value'       => '',
  12.     'post_type'        => 'post',
  13.     'post_mime_type'   => '',
  14.     'post_parent'      => '',
  15.     'author'       => '',
  16.     'author_name'      => '',
  17.     'post_status'      => 'publish',
  18.     'suppress_filters' => true
  19. );
  20. $posts_array = get_posts( $args ); ?>

Parametreleri Tanıyalım;

posts_per_page
(int) Döngü içinde kaç adet içerik göstereceğinizi belirler.

Offset
(int) offset parametresi döngü çalışırken girdiğiniz değer kadar içerik atlamanızı sağlar, offset değerimizi 2 yaparsak yaptığınız filtreleme sonucunda ilk 2 içeriği atlayıp diğer içerikleri gösterir.

category
(int) istediğiniz kategorinin ID değerini yazarak belirttiğiniz kategorinin içeriklerini çekebilirsiniz.

category_name
(string) istediğiniz kategorinin ‘slug’ yazarak belirttiğiniz kategorinin içeriklerini çekebilirsiniz.

orderby
(string | array) içeriklerinizi belirttiğiniz sıralama metoduna göre sıralar. Varsayılan olarak post_date(yazı tarihi) göre sıralar.

order
(string) içeriklerinizi büyükten küçüğe yada tam tersi olacak şekilde sıralamanızı sağlar. Varsayılan olarak ‘DESC’ (Büyükten küçüğe sıralar)

  • ASC : Küçük değerden büyük değere doğru sıralayabilirsiniz. (1, 2, 3; a, b, c)
  • DESC : Büyük değerden küçük değere doğru sıralayabilirsiniz. (3, 2, 1; c, b, a)

exclude
(int | array) Belirttiğiniz içerikleri hariç tutabilirsiniz.

Meta
Eğer özel alan kullanıyorsanız özel alan değerine göre listeleyebilirsiniz.

  • meta_key : Özel alan ismi
  • meta_value : Özel alan değeri

post_type
(string | array) Yazı tipine göre içerik listeleyebilirsiniz.
bazı örnekler;

  • post
  • page
  • attachment
  • revision
  • Özel yazı tipiniz

post_mime_type
(string | array) Eğer post_type olarak ‘attachment’ seçtiyseniz bu parametrede attachment tipleri belirtebilirsiniz.

  • image/jpeg
  • image/gif
  • image/png
  • image/bmp

post_parent
(int) Eğer alt sayfa listelemek istiyorsanız üst sayfanın ID değerini dgirebilirsiniz.

author
(int) Herhangi bir kullanıcının ID değerini girerek kullanıcıya ait içerikleri listeletebilirsiniz.

author_name
(string) Herhangi bir kullanıcının kullanıcı adını girerek kullanıcıya ait içerikleri listeletebilirsiniz.

post_status
(string | array) İçeriklerinizi içerik durumuna göre listeleyebilirsiniz. (yayımlanmış,silinmiş,taslak…)

  • publish
  • trash
  • draft
  • pending
  • any

Örnek Kullanım;

  1. <ul>
  2. <?php
  3. global $post;
  4. $args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );
  5. $myposts = get_posts( $args );
  6. foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
  7.     <li>
  8.         <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  9.     </li>
  10. <?php endforeach;
  11. wp_reset_postdata();?>
  12. </ul>

Notlar;

  • posts_per_page parametresi offset parametresi olmadan kullanılamaz.
  • posts_per_page parametresi yerine numberposts parametresi kullanabilirsiniz.