get_posts() と get_pages() を使い分ける

投稿を抽出するのは、get_posts() 

ページを抽出するのは、get_pages()

それぞれに特化した関数という説明が多いのですが、何が違うのか、まとめてみました。

使用例:カスタムポスト news を

    $args = array( 
        'order' => 'DESC', 
        'post_type' => array('news'),
      );
$posts_array = get_post($args);
 var_dump($posts_array);

$pages_array = get_pages($args);
 var_dump($pages_array);

 

dumpされて帰ってくるのは

get_post() get_pages()
[“ID”] [“ID”]
[“post_author”] [“post_author”]
[“post_date”] [“post_date”]
[“post_date_gmt”] [“post_date_gmt”]
[“post_content”] [“post_content”]
[“post_title”] [“post_title”]
[“post_excerpt”] [“post_excerpt”]
[“post_status”] [“post_status”]
[“comment_status”] [“comment_status”]
[“ping_status”] [“ping_status”]
[“post_password”] [“post_password”]
[“post_name”] [“post_name”]
[“to_ping”] [“to_ping”]
[“pinged”] [“pinged”]
[“post_modified”] [“post_modified”]
[“post_modified_gmt”] [“post_modified_gmt”]
[“post_content_filtered”] [“post_content_filtered”]
[“post_parent”] [“post_parent”]
  [“guid”]
[“menu_order”] [“menu_order”]
[“post_type”] [“post_type”]
[“post_mime_type”] [“post_mime_type”]
[“comment_count”] [“comment_count”]
[“filter”] [“filter”]

ということでほぼ同じ

で、 使えるフィルターは、

get_post() get_pages()
posts_per_page  child_of
offset sort_order
category sort_column
orderby hierarchical
order exclude
include include
exclude  
meta_key meta_key
meta_value meta_value
post_type authors
post_mime_type parent
post_parent exclude_tree
post_status number
suppress_filters offset
  post_type
  post_status

コレを比較すれば、

まぁ、何が特化されているのかがわかりやすい。

 

get_posts() – 投稿をフィルターすることに特化した関数
get_pages() – ページタイプをフィルターすることに特化した関数

ということでした。