如何获取与 BuddyPress 关联的所有 WordPress 页面?

How to get all WordPress pages associated with BuddyPress?

如何获取与 BuddyPress 关联的所有 WordPress 页面?我的意思是,我将通过下面的图片详细说明:

大家可以根据图片看到有5个页面(Widgets, Testing Purpose, Home, About Us, Blog),这些是我创建的WordPress页面,所有这些页面都分配到BuddyPress组件目录.现在我想获得所有这些分配的页面。是否有用于此目的的内置函数或是否有任何获取这些页面的策略?

您应该可以使用文件 bp-core/bp-core-functions.php.

中定义的函数 bp_core_get_directory_page_ids
/**
 * Fetch a list of BP directory pages from the appropriate meta table.
 *
 * @since BuddyPress (1.5.0)
 *
 * @param string $status 'active' to return only pages associated with active components, 'all' to return all saved
 *                       pages. When running save routines, use 'all' to avoid removing data related to inactive
 *                       components. Default: 'active'.
 * @return array|string An array of page IDs, keyed by component names, or an
 *                      empty string if the list is not found.
 */
function bp_core_get_directory_page_ids( $status = 'active' ) {

它会return一个数组类似于:

array(4) {
  ["activity"]=>
  int(72)
  ["members"]=>
  int(73)
  ["register"]=>
  int(74)
  ["activate"]=>
  int(75)
}

数组值是 WordPress 中分配给这些组件的页面 ID。