钩子文档

get_pages

💡 云策文档标注

概述

get_pages 是一个 WordPress 过滤器,用于修改通过 get_pages() 函数检索到的页面列表。它允许开发者自定义页面查询结果,基于传入的参数进行过滤。

关键要点

  • 过滤器名称:get_pages,用于过滤页面对象数组。
  • 参数:$pages(WP_Post[] 页面对象数组)和 $parsed_args(get_pages() 的参数数组)。
  • 支持多种查询参数,如 child_of、sort_order、sort_column、hierarchical、exclude、include、meta_key、meta_value、authors、parent、exclude_tree、number、offset、post_type、post_status 等,用于精确控制页面检索。
  • 源调用:apply_filters('get_pages', $pages, $parsed_args),在 wp-includes/post.php 中定义。
  • 相关函数:get_pages(),用于检索页面或分层文章类型项。
  • 版本历史:自 WordPress 2.1.0 引入。

📄 原文内容

Filters the retrieved list of pages.

Parameters

$pagesWP_Post[]
Array of page objects.
$parsed_argsarray
Array of get_pages() arguments.

More Arguments from get_pages( … $args )

Array or string of arguments to retrieve pages.

  • child_of int
    Page ID to return child and grandchild pages of. Note: The value of $hierarchical has no bearing on whether $child_of returns hierarchical results. Default 0, or no restriction.
  • sort_order string
    How to sort retrieved pages. Accepts 'ASC', 'DESC'. Default 'ASC'.
  • sort_column string
    What columns to sort pages by, comma-separated. Accepts 'post_author', 'post_date', 'post_title', 'post_name', 'post_modified', 'menu_order', 'post_modified_gmt', 'post_parent', 'ID', 'rand', 'comment*count'.
    'post*' can be omitted for any values that start with it.
    Default 'post_title'.
  • hierarchical bool
    Whether to return pages hierarchically. If false in conjunction with $child_of also being false, both arguments will be disregarded.
    Default true.
  • exclude int[]
    Array of page IDs to exclude.
  • include int[]
    Array of page IDs to include. Cannot be used with $child_of, $parent, $exclude, $meta_key, $meta_value, or $hierarchical.
  • meta_key string
    Only include pages with this meta key.
  • meta_value string
    Only include pages with this meta value. Requires $meta_key.
  • authors string
    A comma-separated list of author IDs.
  • parent int
    Page ID to return direct children of. Default -1, or no restriction.
  • exclude_tree string|int[]
    Comma-separated string or array of page IDs to exclude.
  • number int
    The number of pages to return. Default 0, or all pages.
  • offset int
    The number of pages to skip before returning. Requires $number.
    Default 0.
  • post_type string
    The post type to query. Default 'page'.
  • post_status string|array
    A comma-separated list or array of post statuses to include.
    Default 'publish'.

Source

return apply_filters( 'get_pages', $pages, $parsed_args );

Changelog

Version Description
2.1.0 Introduced.