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
offsetsort_order
categorysort_column
orderbyhierarchical
orderexclude
includeinclude
exclude 
meta_keymeta_key
meta_valuemeta_value
post_typeauthors
post_mime_typeparent
post_parentexclude_tree
post_statusnumber
suppress_filtersoffset
 post_type
 post_status

コレを比較すれば、

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

 

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

ということでした。